Optimizing unit test execution in large software programs using dependency analysis
Name
Zeldovich_Optimizing unit.pdf
Size
124.12 KB
Format
Adobe PDF
Checksum (MD5)
3146c5453ffc16e36e4d071d1ffd5b82
Author(s) • •
Kim, Taesoo
Chandra, Ramesh
Zeldovich, Nickolai
Date Issued
July 2013
Journal
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
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2500727.2500748