© 2016 ACM.While developers are aware of the importance of comprehensively testing patches, the large effort involved in coming up with relevant test cases means that such testing rarely happens in practice. Furthermore, even when test cases are written to cover the patch, they often exercise the same behaviour in the old and the new version of the code. In this paper, we present a symbolic execution-based technique that is designed to generate test inputs that cover the new program behaviours introduced by a patch. The technique works by executing both the old and the new version in the same symbolic execution instance, with the old version shadowing the new one. During this combined shadow execution, whenever a branch point is reached whe...
Knowing inputs that cover a specific branch or statement in a program is useful for debugging and r...
Part 4: Testing Methods and AutomationInternational audienceWithin the context of software evolution...
Testing is one of the mainstream program verification techniques where a program is executed on a se...
In this idea paper, we propose a novel way for improving the testing of program changes via symbolic...
In this idea paper, we propose a novel way for improving the testing of program changes via symbolic...
Software plays an important role in everyday life, from consumer applications to mission-critical sy...
Successful software systems tend to be long lived and evolve over time as requirements change and fa...
Software testing is an expensive and time-consuming process, often involving the manual creation of ...
Software changes, such as bug fixes or feature additions, can introduce software bugs and reduce the...
Abstract—Dynamic symbolic execution (DSE) is an approach for automatically generating test inputs fr...
Changes often introduce program errors, and hence recent software testing literature has focused on ...
Bugs in programs are often introduced when programs evolve from a stable version to a new version. I...
Software maintenance is often regarded as consisting of two different activities, fixing bugs and mo...
International audienceGenerative software development has paved the way for the creation of multiple...
AbstractComponent-based software systems raise new problems for the testing community: the reuse of ...
Knowing inputs that cover a specific branch or statement in a program is useful for debugging and r...
Part 4: Testing Methods and AutomationInternational audienceWithin the context of software evolution...
Testing is one of the mainstream program verification techniques where a program is executed on a se...
In this idea paper, we propose a novel way for improving the testing of program changes via symbolic...
In this idea paper, we propose a novel way for improving the testing of program changes via symbolic...
Software plays an important role in everyday life, from consumer applications to mission-critical sy...
Successful software systems tend to be long lived and evolve over time as requirements change and fa...
Software testing is an expensive and time-consuming process, often involving the manual creation of ...
Software changes, such as bug fixes or feature additions, can introduce software bugs and reduce the...
Abstract—Dynamic symbolic execution (DSE) is an approach for automatically generating test inputs fr...
Changes often introduce program errors, and hence recent software testing literature has focused on ...
Bugs in programs are often introduced when programs evolve from a stable version to a new version. I...
Software maintenance is often regarded as consisting of two different activities, fixing bugs and mo...
International audienceGenerative software development has paved the way for the creation of multiple...
AbstractComponent-based software systems raise new problems for the testing community: the reuse of ...
Knowing inputs that cover a specific branch or statement in a program is useful for debugging and r...
Part 4: Testing Methods and AutomationInternational audienceWithin the context of software evolution...
Testing is one of the mainstream program verification techniques where a program is executed on a se...