@inproceedings{3376c29d94a9419095532f29723c5ea6,
title = "TestLocal: Just-in-time parametrized testing of local variables",
abstract = "Variables local to methods play an important role in implementing not only the logic of desired algorithms but also the control of global variables. The values of these variables dictate the paths to be taken while executing the program. While testing is an effective way to exercise the programs under test, the values of these local variables determines the reachability of execution paths. Hence, it is possible that these local variables control the execution of the program and thus may result in some paths never to be tested adequately. This paper introduces a methodology and a prototype tool, called “TestLocal”, to enable testing of methods by changing the values of local variables at runtime thus enabling traversing the paths that are hard to execute. By changing the values of local variables during the execution, the unexpected paths are intentionally forced to be executed. In comparison with the existing approaches (e.g., Microsoft IntelliTest), the proposed methodology requires little to no modifications to the given code. The novelty of the proposed approach is that it integrates a constraint solver and a debugger to forcefully execute unreachable paths.",
keywords = "Debugging, Dynamic symbolic execution, SMT solver, Unit testing",
author = "Marcel Heimlich and Namin, {Akbar Siami}",
note = "Funding Information: This research is supported in part by National Science Foundation under the grant number 1821560. Publisher Copyright: {\textcopyright} 2019 Copyright held by the owner/author(s).; null ; Conference date: 08-04-2019 Through 12-04-2019",
year = "2019",
doi = "10.1145/3297280.3297613",
language = "English",
isbn = "9781450359337",
series = "Proceedings of the ACM Symposium on Applied Computing",
publisher = "Association for Computing Machinery",
pages = "1874--1877",
booktitle = "Proceedings of the ACM Symposium on Applied Computing",
}