SourcererDB: An aggregated repository of statically analyzed and cross-linked open source Java projects

TitleSourcererDB: An aggregated repository of statically analyzed and cross-linked open source Java projects
Publication TypeConference Paper
Year of Publication2009
AuthorsOssher, J, Bajracharya, S, Linstead, E, Baldi, P, Lopes, C
Secondary Title2009 6th IEEE International Working Conference on Mining Software Repositories (MSR)2009 6th IEEE International Working Conference on Mining Software Repositories
Pagination183 - 186
PublisherIEEE
Place PublishedVancouver, BC, Canada
ISBN Number978-1-4244-3493-0
Keywordsapache, integration, java, java.net, project, repository, sourceforge, SourcererDB
Abstract

The open source movement has made vast quantities of source code available online for free, providing an extremely large dataset for empirical study and potential resuse. A major difficulty in exploiting this potential fully is that the data are currently scattered between competing source code repositories, none of which are structured for empirical analysis and cross-project comparison. As a result, software researchers and developers are left to compile their own datasets, resulting in duplicated effort and limited results. To address this challenge, we built SourcererDB, an aggregated repository of statically analyzed and cross-linked open source Java projects. SourcererDB contains local snapshots of 2,852 Java projects taken from Sourceforge, Apache and Java.net. These projects are statically analyzed to extract rich structural information, which is then stored in a relational database. References to entities in the 16,058 external jars are resolved and grouped, allowing for cross-project usage information to be accessed easily. This paper describes: (a) the mechanism for resolving and grouping these cross-project references, (b) the structure of and the metamodel for the SourcererDB repository, and (d) end-user dataset access mechanisms. Our goal in building SourcererDB is to provide a rich dataset of source code to facilitate the sharing of extracted data and to encourage reuse and repeatability of experiments.

DOI10.1109/MSR.2009.5069501
Full Text