2014 · 38 citations · 13 references
Software MaintenanceEngineeringNull ChecksVerificationSoftware EngineeringSource Code AnalysisOpen Source ProjectsSoftware AnalysisFormal VerificationEmpirical Software Engineering ResearchData ScienceData MiningSoftware PracticeSoftware MiningKnowledge DiscoveryComputer ScienceAutomated RepairSoftware DesignChange HistoryProgram AnalysisSoftware Testing
Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed.
13
Mining metrics to predict component failures
Nachiappan Nagappan, Thomas Ball, Andreas Zeller · 2006 · 770 citations
Predicting faults using the complexity of code changes
Ahmed E. Hassan · 2009 · 685 citations
Benjamin Livshits, Thomas Zimmermann · 2005 · 327 citations