kirancodes.me
To Proof Maintenance & Beyond!

Automated unit test generation for evolving software

Sina Shamshiri

Abstract

As developers make changes to software programs, they want to ensure that the originally intended functionality of the software has not been affected. As a result, developers write tests and execute them after making changes. However, high quality tests are needed that can reveal unintended bugs, and not all developers have access to such tests. Moreover, since tests are written without the knowledge of future changes, sometimes new tests are needed to exercise such changes. While this problem has been well studied in the literature, the current approaches for automatically generating such tests either only attempt to reach the change and do not aim to propagate the infected state to the output, or may suffer from scalability issues, especially when a large sequence of calls is required for propagation. We propose a search-based approach that aims to automatically generate tests which can reveal functionality changes, given two versions of a program (e.g., pre-change and post-change). Developers can then use these tests to identify unintended functionality changes (i.e., bugs). Initial evaluation results show that our approach can be effective on detecting such changes, but there remain challenges in scaling up test generation and making the tests useful to developers, both of which we aim to overcome.

BibTeX
@inproceedings{Shamshiri:FSE15,
  author    = {Sina Shamshiri},
  title     = {Automated unit test generation for evolving software},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {1038--1041},
  publisher = {{ACM}},
  year      = {2015},
}

Related papers