Retrofitting automatic testing through library tests reusing

Lei Ma, Cheng Zhang, Bing Yu, Jianjun Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)


Test cases are useful for program comprehension. Developers often understand dynamic behavior of systems by running their test cases. As manual testing is expensive, automatic testing has been extensively studied to reduce the cost. However, without sufficient knowledge of the software under test, it is difficult for automated testing techniques to create effective test cases, especially for software that requires complex inputs. In this paper, we propose to reuse existing test cases from the libraries of software under test, to generate better test cases. We have the observation that, when developers start to test the target software, the test cases of its dependent libraries are often available. Therefore, we propose to perform program analysis on these artifacts to extract relevant code fragments to create test sequences. We further seed these sequences to a random test generator GRT to generate test cases for target software. The preliminary experiments show that the technique significantly improves the effectiveness of GRT. Our in-depth analysis reveals that several dependency metrics are good indicators of the potential benefits of applying our technique on specific programs and their libraries.

Original languageEnglish
Title of host publicationProceedings of the 24th IEEE International Conference on Program Comprehension, ICPC 2016 - co-located with ICSE 2016
PublisherIEEE Computer Society
ISBN (Electronic)9781509014286
Publication statusPublished - Jul 5 2016
Event24th IEEE International Conference on Program Comprehension, ICPC 2016 - Austin, United States
Duration: May 16 2016May 17 2016

Publication series

NameIEEE International Conference on Program Comprehension


Other24th IEEE International Conference on Program Comprehension, ICPC 2016
Country/TerritoryUnited States

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software


Dive into the research topics of 'Retrofitting automatic testing through library tests reusing'. Together they form a unique fingerprint.

Cite this