KeYGenU: Combining verification-based and capture and replay techniques for regression unit testing

Bernhard Beckert, Christoph Gladisch, Shmuel Tyszberowicz, Amiram Yehudai

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)97-113
Number of pages17
JournalInternational Journal of System Assurance Engineering and Management
Volume2
Issue number2
DOIs
StatePublished - Jun 2011

Keywords

  • Isolated tests
  • Regression tests
  • Test coverage
  • Unit testing
  • Verification-based testing

Fingerprint

Dive into the research topics of 'KeYGenU: Combining verification-based and capture and replay techniques for regression unit testing'. Together they form a unique fingerprint.

Cite this