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 tes...
As a software system evolves, developers make changes to add new features ot fix different kinds of ...
Bug fix is an important and challenging task in software development and maintenance. Bug fix is als...
Modern software development is performed by developing features in isolated branches by each member ...
This paper introduces a new technique for finding latent software bugs called change classification....
Abstract—Keeping evolving systems fault free is hard. Change impact analysis is a well-studied metho...
Small changes can have major and nonlocal effects in object oriented languages, due to the extensive...
Software maintenance is often regarded as consisting of two different activities, fixing bugs and mo...
Developers evolve a software system by changing the pro-gram source code, by modifying its context b...
The main objective of this dissertation is to assist in reducing the chaotic state of the software e...
Regression testing is the most wide-spread method to ensure the quality of software systems. Wheneve...
Modelling and understanding bugs has been the focus of much of the Software Engineering research tod...
Abstract—This research extends an existing source code change taxonomy that was designed to analyze ...
Software products can only be improved if we have a good understanding of the faults they typically ...
Software products can only be improved if we have a good understanding of the faults they typically ...
Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative ...
As a software system evolves, developers make changes to add new features ot fix different kinds of ...
Bug fix is an important and challenging task in software development and maintenance. Bug fix is als...
Modern software development is performed by developing features in isolated branches by each member ...
This paper introduces a new technique for finding latent software bugs called change classification....
Abstract—Keeping evolving systems fault free is hard. Change impact analysis is a well-studied metho...
Small changes can have major and nonlocal effects in object oriented languages, due to the extensive...
Software maintenance is often regarded as consisting of two different activities, fixing bugs and mo...
Developers evolve a software system by changing the pro-gram source code, by modifying its context b...
The main objective of this dissertation is to assist in reducing the chaotic state of the software e...
Regression testing is the most wide-spread method to ensure the quality of software systems. Wheneve...
Modelling and understanding bugs has been the focus of much of the Software Engineering research tod...
Abstract—This research extends an existing source code change taxonomy that was designed to analyze ...
Software products can only be improved if we have a good understanding of the faults they typically ...
Software products can only be improved if we have a good understanding of the faults they typically ...
Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative ...
As a software system evolves, developers make changes to add new features ot fix different kinds of ...
Bug fix is an important and challenging task in software development and maintenance. Bug fix is als...
Modern software development is performed by developing features in isolated branches by each member ...