Optimizing unit test execution in large software programs using dependency analysis
Author(s)
Kim, Taesoo; Chandra, Ramesh; Zeldovich, Nickolai
DownloadZeldovich_Optimizing unit.pdf (124.1Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Tao is a system that optimizes the execution of unit tests in large software programs and reduces the programmer wait time from minutes to seconds. Tao is based on two key ideas: First, Tao focuses on efficiency, unlike past work that focused on avoiding false negatives. Tao implements simple and fast function-level dependency tracking that identifies tests to run on a code change; any false negatives missed by this dependency tracking are caught by running the entire test suite on a test server once the code change is committed. Second, to make it easy for programmers to adopt Tao, it incorporates the dependency information into the source code repository. This paper describes an early prototype of Tao and demonstrates that Tao can reduce unit test execution time in two large Python software projects by over 96% while incurring few false negatives.
Date issued
2013-07Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Proceedings of the 4th Asia-Pacific Workshop on Systems - APSys '13
Publisher
Association for Computing Machinery
Citation
Kim, Taesoo, Ramesh Chandra, and Nickolai Zeldovich. “Optimizing Unit Test Execution in Large Software Programs Using Dependency Analysis.” Proceedings of the 4th Asia-Pacific Workshop on Systems - APSys ’13 (2013). July 29-30, 2013, Singapore, Singapore. ACM, Article No.19, p. 1-6.
Version: Author's final manuscript
ISBN
9781450323161
ISSN
1450323162