DeepTC-Enhancer: Improving the Readability of Automatically Generated Tests
Autor: | Devjeet Roy, Maggie Ma, Annibale Panichella, Sebastiano Panichella, Venera Arnaoudova, Ziyi Zhang, Danielle Gonzalez, Mehdi Mirakhorli |
---|---|
Jazyk: | angličtina |
Rok vydání: | 2020 |
Předmět: |
Source code
Computer science media_common.quotation_subject test case generation 02 engineering and technology 006: Spezielle Computerverfahren computer.software_genre maintenance empirical study Documentation program comprehension evolution 0202 electrical engineering electronic engineering information engineering media_common business.industry Program comprehension deep learning 020207 software engineering software testing Readability Test (assessment) Test case Artificial intelligence business computer Natural language processing Natural language |
Zdroj: | Proceedings-2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020 ASE |
Popis: | Automated test case generation tools have been successfully proposed to reduce the amount of human and infrastructure resources required to write and run test cases. However, recent studies demonstrate that the readability of generated tests is very limited due to (i) uninformative identifiers and (ii) lack of proper documentation. Prior studies proposed techniques to improve test readability by either generating natural language summaries or meaningful methods names. While these approaches are shown to improve test readability, they are also affected by two limitations: (1) generated summaries are often perceived as too verbose and redundant by developers, and (2) readable tests require both proper method names but also meaningful identifiers (within-method readability). In this work, we combine template based methods and Deep Learning (DL) approaches to automatically generate test case scenarios (elicited from natural language patterns of test case statements) as well as to train DL models on path-based representations of source code to generate meaningful identifier names. Our approach, called DeepTC-Enhancer, recommends documentation and identifier names with the ultimate goal of enhancing readability of automatically generated test cases. An empirical evaluation with 36 external and internal developers shows that (1) DeepTC-Enhancer outperforms significantly the baseline approach for generating summaries and performs equally with the baseline approach for test case renaming, (2) the transformation proposed by DeepTC-Enhancer results in a significant increase in readability of automatically generated test cases, and (3) there is a significant difference in the feature preferences between external and internal developers. |
Databáze: | OpenAIRE |
Externí odkaz: |