TY - GEN
T1 - A prolog-based framework for search, integration and empirical analysis on software evolution data
AU - Bhattacharya, Pamela
AU - Neamtiu, Iulian
PY - 2011
Y1 - 2011
N2 - Software projects use different repositories for storing project and evolution information such as source code, bugs and patches. An integrated system that combines these multiple repositories and can answer a broad range of queries regarding the project's evolution history would be beneficial to both software developers and researchers. For example, the list of source code changes or the list of developers associated with a bug fix are frequent queries for both developers and researchers. Integrating and gathering this information is a tedious, cumbersome, error-prone process when done manually, especially for large projects. Previous approaches to this problem use frameworks that limit the user to a set of pre-defined query templates, or use query languages with limited power. In this paper, we argue the need for a framework built with recursively enumerable languages, that can answer temporal queries, and supports negation and recursion. As a first step toward such a framework, we present a Prolog-based system that we built, along with an evaluation of real-world integrated data from the Firefox project. Our system allows for elegant and concise, yet powerful queries, and can be used by developers and researchers for frequent development and empirical analysis tasks.
AB - Software projects use different repositories for storing project and evolution information such as source code, bugs and patches. An integrated system that combines these multiple repositories and can answer a broad range of queries regarding the project's evolution history would be beneficial to both software developers and researchers. For example, the list of source code changes or the list of developers associated with a bug fix are frequent queries for both developers and researchers. Integrating and gathering this information is a tedious, cumbersome, error-prone process when done manually, especially for large projects. Previous approaches to this problem use frameworks that limit the user to a set of pre-defined query templates, or use query languages with limited power. In this paper, we argue the need for a framework built with recursively enumerable languages, that can answer temporal queries, and supports negation and recursion. As a first step toward such a framework, we present a Prolog-based system that we built, along with an evaluation of real-world integrated data from the Firefox project. Our system allows for elegant and concise, yet powerful queries, and can be used by developers and researchers for frequent development and empirical analysis tasks.
KW - data integration
KW - empirical studies
KW - prolog
KW - software evolution
UR - http://www.scopus.com/inward/record.url?scp=79960616065&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79960616065&partnerID=8YFLogxK
U2 - 10.1145/1985429.1985437
DO - 10.1145/1985429.1985437
M3 - Conference contribution
AN - SCOPUS:79960616065
SN - 9781450305976
T3 - Proceedings - International Conference on Software Engineering
SP - 29
EP - 32
BT - SUITE'11 - Proceedings of the 3rd International Workshop on Search-Driven Development
T2 - 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation, SUITE 2011, Co-located with ICSE 2011
Y2 - 28 May 2011 through 28 May 2011
ER -