Logo image
Change classification and its applications to program development and testing
Technical documentation   Open access

Change classification and its applications to program development and testing

Maximilian Stoerzer, Barbara G. Ryder, Xiaoxia Ren and Frank Tip
Rutgers University
2005
DOI:
https://doi.org/10.7282/t3-da7s-1011

Abstract

During program development, testing and code editing are interleaved activities. When tests unexpectedly fail, the changes that caused the failure are not always easy to find. We present several analyses that automatically classify changes as Red, Yellow, or Green, indicating the likelihood that they contributed to a test’s failure. We implemented these techniques as an extension of the JUnit testing framework, and evaluated their effectiveness in two case studies. Our results indicate that change classification can effectively focus programmer attention on failure-inducing changes, improving on current manual searching/debugging techniques. Change classification can also determine untested changes, to inform programmers that additional tests are needed. Furthermore, change classification can determine those changes that can be committed safely to a version control repository without breaking any tests, even if a developer’s local workspace contains failing tests. Early adoption of edited code avoids inefficient parallel implementations of the same functionality and possible conflicts when merging independent changes later in the development process.
pdf
dcs-tr-572189.92 kBDownloadView
Technical Documentation Open Access
url
Report an accessibility issueView
Please complete a content remediation request to report an accessibility issue with a library electronic resource, website, or service.

Metrics

57 File downloads
92 Record Views

Details

Logo image