| US 7,503,037 B2 | ||
| System and method for identifying bugs in software source code, using information from code coverage tools and source control tools to determine bugs introduced within a time or edit interval | ||
| Ashok Banerjee, Fremont, Calif. (US); Michael Cico, Nashua, N.H. (US); and Vishal Vishnoi, Burlington, Mass. (US) | ||
| Assigned to Bea Systems, Inc., Redwood Shores, Calif. (US) | ||
| Filed on Apr. 02, 2004, as Appl. No. 10/816,615. | ||
| Prior Publication US 2005/0223357 A1, Oct. 06, 2005 | ||
| Int. Cl. G06F 9/44 (2006.01) | ||
| U.S. Cl. 717—124 [717/120] | 25 Claims |

| 1. A system for software source code analysis, comprising:
a computer including a processor;
a plugin framework that includes a plurality of software interfaces to allow software test tools to be plugged into the system
in a tool-agnostic manner;
a software interface to a source code management tool , which can be used to receive information from the source code management
tool to identify changes that have been made by developers to source code during a specified interval of time or during a
set of relative edit changes, independent of any particular source code management tool implementation;
a software interface to a code coverage tool, which can be used to receive information from the code coverage tool to identify
source code that has been exercised by the system during a test run, independent of any particular code coverage tool implementation;
a software interface for identifying which source files are exercised in a software product by a particular software test,
using code coverage mapping,
a software interface for identifying which tests have failed during a test execution cycle for a particular software product,
independent of any particular testing technology or test execution tool; and
a bug inspection analyzer that determines a failure-to-change intersection point by integrating the information from the plurality
of software interfaces, including both the software interface to the source code management tool and the software interface
to the code coverage tool to determine
which of the tests failed,
which of the source code files of the target software product are exercised by the failing tests as determined by the information
received from the code coverage tool, and
which of the files identified thereby have been changed by a developer, during the specified interval of time or the specified
set of relative edit changes, as determined by the information received from the source code management tool.
|