skip to main content
10.1145/1083142.1083144acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Recovering system specific rules from software repositories

Published:17 May 2005Publication History

ABSTRACT

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.

References

  1. Edison Design Group, http://www.edg.com/cpp.htmlGoogle ScholarGoogle Scholar
  2. Engler, D., Chelf, B., Chou, A., Hallem, S., Checking System Rules Using System Specific, Programmer-Written Compiler Extensions. In Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, CA, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Engler, D., Chen, D. Y., Hallem, S., Chou, A., Chelf, B., Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code, In Proceedings of the ACM symposium on Operating Systems Principles, Banff, Canada, Oct 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gutwin, C., Penner, R., Schneider, K., Group Awareness in Distributed Software Development, In Proceedings of ACM Conference on Computer Supported Cooperative Work, Chicago, IL, Nov 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Matsumura, T., Monden, A., Matsumoto, K., The Detection of Faulty Code Violating Implicit Coding Rules, Proceedings of the International Workshop on Principles of Software Evolution (IWPSE '02), Orlando, FL, USA, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Pinzger, M., Gall, H., Pattern-supported architecture recovery. In Proceedings of the International Workshop on Program Comprehension (IWPC'02), Paris, France, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Rysselberghe, F., Demeyer, S., Mining Version Control Systems for FACs (Frequently Applied Changes), Proceedings of International Workshop on Mining Software Repositories (MSR '04), Edinburgh, Scotland, UK, May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. TouchGraph LinkBrowser, Available online at http://touchgraph.sourceforge.netGoogle ScholarGoogle Scholar
  9. Williams, C. C., Hollingsworth, J. K., Bug Driven Bug Finders, In Proceedings of International Workshop on Mining Software Repositories (MSR '04), Edinburgh, Scotland, UK, May 2004.Google ScholarGoogle Scholar
  10. Wine, Available online at http://www.winehq.orgGoogle ScholarGoogle Scholar

Index Terms

  1. Recovering system specific rules from software repositories

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          MSR '05: Proceedings of the 2005 international workshop on Mining software repositories
          May 2005
          109 pages
          ISBN:1595931236
          DOI:10.1145/1083142
          • cover image ACM SIGSOFT Software Engineering Notes
            ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
            July 2005
            1514 pages
            ISSN:0163-5948
            DOI:10.1145/1082983
            Issue’s Table of Contents

          Copyright © 2005 Authors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 17 May 2005

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader