TY - JOUR
T1 - KeYGenU
T2 - Combining verification-based and capture and replay techniques for regression unit testing
AU - Beckert, Bernhard
AU - Gladisch, Christoph
AU - Tyszberowicz, Shmuel
AU - Yehudai, Amiram
PY - 2011/6
Y1 - 2011/6
N2 - Unit testing plays a major role in the software development process. Two essential criteria to achieve effective unit testing are: (1) testing each unit in isolation from other parts of the program and (2) achieving high code coverage. The former requires a lot of extra work such as writing drivers and stubs, whereas the latter is difficult to achieve when manually writing the tests. When changing existing code it is advocated to run the unit tests to avoid regression bugs. However, in many cases legacy software has no unit tests. Writing those tests from scratch is a hard and tedious process, which might not be costeffective. This paper presents a tool chain approach that combines verification-based testing (VBT) and capture and replay (CaR) test generation methods. We have built a concrete tool chain, KeYGenU, which consists of two existing tools-KeY and GenUTest. The KeY system is a deductive verification and test-generation tool. GenUTest automatically generates JUnit tests for a correctly working software. This combination provides isolated unit test suites with high code-coverage. The generated tests can also be used for regression testing.
AB - Unit testing plays a major role in the software development process. Two essential criteria to achieve effective unit testing are: (1) testing each unit in isolation from other parts of the program and (2) achieving high code coverage. The former requires a lot of extra work such as writing drivers and stubs, whereas the latter is difficult to achieve when manually writing the tests. When changing existing code it is advocated to run the unit tests to avoid regression bugs. However, in many cases legacy software has no unit tests. Writing those tests from scratch is a hard and tedious process, which might not be costeffective. This paper presents a tool chain approach that combines verification-based testing (VBT) and capture and replay (CaR) test generation methods. We have built a concrete tool chain, KeYGenU, which consists of two existing tools-KeY and GenUTest. The KeY system is a deductive verification and test-generation tool. GenUTest automatically generates JUnit tests for a correctly working software. This combination provides isolated unit test suites with high code-coverage. The generated tests can also be used for regression testing.
KW - Isolated tests
KW - Regression tests
KW - Test coverage
KW - Unit testing
KW - Verification-based testing
UR - http://www.scopus.com/inward/record.url?scp=84862139101&partnerID=8YFLogxK
U2 - 10.1007/s13198-011-0068-3
DO - 10.1007/s13198-011-0068-3
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84862139101
VL - 2
SP - 97
EP - 113
JO - International Journal of System Assurance Engineering and Management
JF - International Journal of System Assurance Engineering and Management
SN - 0975-6809
IS - 2
ER -