Automated Inline-Test Generation without Relying on Method-Level Unit Tests
This program is tentative and subject to change.
Inline tests validate individual program statements and expressions, and they were shown to detect many seeded faults that unit tests miss on these target statements. Exli is the only automated inline-test generation technique today; it carves inline tests from method-level unit tests that are written for methods that enclose target statements. Thus, Exli cannot work for target statements that method-level unit tests do not cover. Also the quality of Exli-generated inline tests depends on the quality of method-level unit tests. We propose Smack to generate inline tests without relying on method-level unit tests. Smack is inspired by how inline tests are run: each is extracted with the target statement into a method that is run independently of other code. Smack exploits this independence. Smack first extracts each target statement into a new method. Next, Smack applies existing unit-test generation tools to the extracted method and carves inline tests from those generated unit tests. Finally, Smack transplants the resulting inline tests to be right after the target statement in the enclosing method. We evaluate Smack on the 957 target statements in 31 open-source projects that Exli was evaluated on. Smack generates inline tests for 277 of 312 (88.8%) statements that Exli cannot handle—they are not covered by method-level unit tests. These inline tests kill 96.7% of 1815 mutants that we seed in these 312 target statements. Therefore, Smack improves on Exli by extending the reach and fault-detection ability of inline-test generation. Smack also generates inline tests for 609 of 645 (94.4%) target statements that Exli can handle—they are covered by method-level unit tests. Smack-generated inline tests kill 83.1% of 2844 mutants that we seed in these 645 target statements. 147 of these killed mutants survive Exli-generated inline tests. Thus, Smack is complementary to Exli even on target statements that Exli can handle.
This program is tentative and subject to change.
Thu 2 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
16:00 - 16:45 | |||
16:00 22mTalk | Automated Inline-Test Generation without Relying on Method-Level Unit Tests Technical Papers Pengyue Jiang Cornell University, Yu Liu Meta, Anna Guo University of Texas at Austin, Milos Gligoric The University of Texas at Austin, Owolabi Legunsen Cornell University | ||
16:22 22mTalk | Remote Concolic Multiverse Debugging Technical Papers Maarten Steevens Ghent University, Belgium, Tom Lauwaerts Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent Pre-print | ||