TestLocal

Marcel Heimlich, Akbar Siami Namin · 2019

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.

Read the paper · More papers on PaperTik