Recovering system specific rules from software repositories

TitleRecovering system specific rules from software repositories
Publication TypeJournal Articles
Year of Publication2005
AuthorsWilliams CC, Hollingsworth J
JournalSIGSOFT Softw. Eng. Notes
Pagination1 - 5
Date Published2005/05//
ISBN Number0163-5948
Keywordsdata warehouse and repository, debugging aids, design, experimentation, measurement, performance

One of the most successful applications of static analysis based bug finding tools is to search the source code for violations of system-specific rules. These rules may describe how functions interact in the code, how data is to be validated or how an API is to be used. To apply these tools, the developer must encode a rule that must be followed in the source code. The difficulty is that many of these system-specific rules are undocumented and "grow" over time as the source code changes. Most research in this area relies on expert programmers to document these little-known rules. In this paper we discuss a method to automatically recover a subset of these rules, function usage patterns, by mining the software repository. We present a preliminary study that applies our work to a large open source software project.