The Community for Technology Leaders
2016 IEEE International Conference on Software Testing, Verification and Validation (ICST) (2016)
Chicago, IL, USA
April 11, 2016 to April 15, 2016
ISBN: 978-1-5090-1828-4
pp: 341-352
ABSTRACT
Maintaining unit test cases is important during the maintenance and evolution of a software system. In particular, automatically documenting these unit test cases can ameliorate the burden on developers maintaining them. For instance, by relyingon up-to-date documentation, developers can more easily identify test cases that relate to some new or modified functionality of the system. We surveyed 212 developers (both industrial and open-source) to understand their perspective towards writing, maintaining, and documenting unit test cases. In addition, we mined change histories of C# software systems and empirically found that unit test methods seldom had preceding comments andinfrequently had inner comments, and both were rarely modified as those methods were modified. In order to support developers in maintaining unit test cases, we propose a novel approach -- UnitTestScribe -- that combines static analysis, natural language processing, backwardslicing, and code summarization techniques to automatically generate natural language documentation of unit test cases. We evaluated UnitTestScribe on four subject systems by means of an online survey with industrial developers and graduate students. In general, participants indicated that UnitTestScribe descriptions are complete, concise, and easy to read.
INDEX TERMS
Software systems, Documentation, Open source software, Electronic mail, Maintenance engineering, History,natural language processing, unit test, summarization
CITATION
Boyang Li, Christopher Vendome, Mario Linares-Vasquez, Denys Poshyvanyk, Nicholas A. Kraft, "Automatically Documenting Unit Test Cases", 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST), vol. 00, no. , pp. 341-352, 2016, doi:10.1109/ICST.2016.30
183 ms
(Ver 3.3 (11022016))