• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

DMCA

Dynamine: Finding Common Error Patterns by Mining Software Revision Histories (2005)

Cached

  • Download as a PDF

Download Links

  • [www.cpsc.ucalgary.ca]
  • [www.st.cs.uni-saarland.de]
  • [thomas-zimmermann.com]
  • [pages.cpsc.ucalgary.ca]
  • [pag.csail.mit.edu]
  • [pag.lcs.mit.edu]
  • [suif.stanford.edu]
  • [suif.stanford.edu]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [www-suif.stanford.edu]
  • [research.microsoft.com]
  • [www-suif.stanford.edu]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [research.microsoft.com]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Benjamin Livshits
Venue:In ESEC/FSE
Citations:165 - 12 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@INPROCEEDINGS{Livshits05dynamine:finding,
    author = {Benjamin Livshits},
    title = {Dynamine: Finding Common Error Patterns by Mining Software Revision Histories},
    booktitle = {In ESEC/FSE},
    year = {2005},
    pages = {296--305},
    publisher = {ACM Press}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

A great deal of attention has lately been given to addressing software bugs such as errors in operating system drivers or security bugs. However, there are many other lesser known errors specificto individual applications or APIs and these violations of applicationspecific coding rules are responsible for a multitude of errors. In this paper we propose DynaMine, a tool that analyzes source code check-ins to find highly correlated method calls as well as common bug fixes in order to automatically discover application-specific coding patterns. Potential patterns discovered through mining are passed to a dynamic analysis tool for validation; finally, the results of dynamic analysis are presented to the user. The combination of revision history mining and dynamic analysis techniques leveraged in DynaMine proves effective for both discovering new application-specific patterns and for finding errors when applied to very large applications with many man-years of development and debugging effort behind them. We have analyzed Eclipse and jEdit, two widely-used, mature, highly extensible applications consisting of more than 3,600,000 lines of code combined. By mining revision histories, we have discovered 56 previously unknown, highly application-specific patterns. Out of these, 21 were dynamically confirmed as very likely valid patterns and a total of 263 pattern violations were found.

Keyphrases

mining software revision history    finding common error pattern    operating system driver    individual application    dynamine prof    correlated method    potential pattern    security bug    software bug    source code check-in    common bug fix    dynamic analysis    application-specific coding pattern    likely valid pattern    revision history mining    applicationspecific coding rule    large application    application-specific pattern    dynamic analysis technique    debugging effort    many man-years    extensible application    dynamic analysis tool    new application-specific pattern    revision history    great deal    pattern violation   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University