A Tool for Automatic and Semi-Automatic Bug Localization for Large Software Projects
An algorithm leverages software version history timestamps and change data to significantly narrow down code examination for faster, more accurate bug fixes.
Software development is complex and businesses are constantly looking for ways to improve their efficiency. Bug localization is an area where improvements are needed. Since many software projects can consist of millions of lines of code and thousands of files, it is extremely costly and time consuming to pinpoint all parts of the software that are relevant to the bug.
Purdue University researchers have developed an algorithm that can significantly narrow down the portion of the software that must be examined to create a bug fix. The method mines the version histories of the software artifacts created incrementally during software development. It employs a novel Information Retrieval framework that leverages the relative importance of each incremental change of the software to a given bug using the change's associated time stamp in the repository logs. This method has been shown to greatly improve bug localization accuracy.
Advantages:
-Significantly increases accuracy of bug localization
-Achieves an accurate estimation of the relative importance of each file to a particular bug in a software repository
Potential Applications:
-Computer Technology
-Software
TRL: 5
Intellectual Property:
Provisional-Patent, 2012-11-27, United States | Utility Patent, 2013-11-27, United States | CON-Patent, 2018-10-23, United States
Keywords: Bug localization, software development efficiency, algorithm, version histories, software artifacts, Information Retrieval framework, bug localization accuracy, software repository, computer technology, software, Big Data, Computer Technology, Computer Virus, Software, Software Bugs