Improving structural testing of object-oriented programs via integrating evolutionary testing and symbolic execution

Kobi Inkumsah, Tao Xie

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

Abstract

Achieving high structural coverage such as branch coverage in object-oriented programs is an important and yet challenging goal due to two main challenges. First, some branches involve complex program logics and generating tests to cover them requires deep knowledge of the program structure and semantics. Second, covering some branches requires special method sequences to lead the receiver object or non-primitive arguments to specific desirable states. Previous work has developed the symbolic execution technique and the evolutionary testing technique to address these two challenges, respectively. However, neither technique was designed to address both challenges at the same time. To address the respective weaknesses of these two previous techniques, we propose a novel framework called Evacon that integrates evolutionary testing (used to search for desirable method sequences) and symbolic execution (used to generate desirable method arguments). We have implemented our framework and applied it to test 13 classes previously used in evaluating white-box test generation tools. The experimental results show that the tests generated using our framework can achieve higher branch coverage than the ones generated by evolutionary testing, symbolic execution, or random testing within the same amount of time.

Original languageEnglish (US)
Title of host publicationASE 2008 - 23rd IEEE/ACM International Conference on Automated Software Engineering, Proceedings
Pages297-306
Number of pages10
DOIs
StatePublished - Nov 21 2008
Externally publishedYes
EventASE 2008 - 23rd IEEE/ACM International Conference on Automated Software Engineering - L'Aquila, Italy
Duration: Sep 15 2008Sep 19 2008

Publication series

NameASE 2008 - 23rd IEEE/ACM International Conference on Automated Software Engineering, Proceedings

Other

OtherASE 2008 - 23rd IEEE/ACM International Conference on Automated Software Engineering
CountryItaly
CityL'Aquila
Period9/15/089/19/08

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Improving structural testing of object-oriented programs via integrating evolutionary testing and symbolic execution'. Together they form a unique fingerprint.

Cite this