Please use this identifier to cite or link to this item:
https://doi.org/10.21256/zhaw-3218
Publication type: | Article in scientific journal |
Type of review: | Peer review (publication) |
Title: | Automatic detection and repair recommendation of directive defects in Java API documentation |
Authors: | Zhou, Yu Yan, Xin Chen, Taolue Panichella, Sebastiano Gall, Harald |
DOI: | 10.1109/TSE.2018.2872971 10.21256/zhaw-3218 |
Published in: | IEEE Transactions on Software Engineering |
Volume(Issue): | 46 |
Issue: | 9 |
Page(s): | 1004 |
Pages to: | 1023 |
Issue Date: | 2018 |
Publisher / Ed. Institution: | IEEE |
ISSN: | 0098-5589 1939-3520 |
Language: | English |
Subject (DDC): | 005: Computer programming, programs and data |
Abstract: | Application Programming Interfaces (APIs) represent key tools for software developers to build complex software systems. However, several studies have revealed that even major API providers tend to have incomplete or inconsistent API documentation. This can severely hamper the API comprehension and, as a consequence, the quality of the software built on them. In this paper, we propose DRONE (Detect and Repair of dOcumentatioN dEfects), a framework to automatically detect and repair defects from API documents by leveraging techniques from program analysis, natural language processing, and constraint solving. Specifically, we target at the directives of API documents, which are related to parameter constraints and exception handling declarations. Furthermore, in presence of defects, we also provide a prototypical repair recommendation system. We evaluate our approach on parts of the well-documented APIs of JDK 1.8 APIs (including javaFX) and Android 7.0 (level 24). Across the two empirical studies, our approach can detect API defects with an average F-measure of 79.9%, 71.7%, and 81.4%, respectively. The API repairing capability has also been evaluated on the generated recommendations in a further experiment. User judgments indicate that the constraint information is addressed correctly and concisely in the rendered directives. |
URI: | https://digitalcollection.zhaw.ch/handle/11475/17312 |
Fulltext version: | Accepted version |
License (according to publishing contract): | Licence according to publishing contract |
Departement: | School of Engineering |
Organisational Unit: | Institute of Computer Science (InIT) |
Appears in collections: | Publikationen School of Engineering |
Show full item record
Zhou, Y., Yan, X., Chen, T., Panichella, S., & Gall, H. (2018). Automatic detection and repair recommendation of directive defects in Java API documentation. IEEE Transactions on Software Engineering, 46(9), 1004–1023. https://doi.org/10.1109/TSE.2018.2872971
Zhou, Y. et al. (2018) ‘Automatic detection and repair recommendation of directive defects in Java API documentation’, IEEE Transactions on Software Engineering, 46(9), pp. 1004–1023. Available at: https://doi.org/10.1109/TSE.2018.2872971.
Y. Zhou, X. Yan, T. Chen, S. Panichella, and H. Gall, “Automatic detection and repair recommendation of directive defects in Java API documentation,” IEEE Transactions on Software Engineering, vol. 46, no. 9, pp. 1004–1023, 2018, doi: 10.1109/TSE.2018.2872971.
ZHOU, Yu, Xin YAN, Taolue CHEN, Sebastiano PANICHELLA und Harald GALL, 2018. Automatic detection and repair recommendation of directive defects in Java API documentation. IEEE Transactions on Software Engineering. 2018. Bd. 46, Nr. 9, S. 1004–1023. DOI 10.1109/TSE.2018.2872971
Zhou, Yu, Xin Yan, Taolue Chen, Sebastiano Panichella, and Harald Gall. 2018. “Automatic Detection and Repair Recommendation of Directive Defects in Java API Documentation.” IEEE Transactions on Software Engineering 46 (9): 1004–23. https://doi.org/10.1109/TSE.2018.2872971.
Zhou, Yu, et al. “Automatic Detection and Repair Recommendation of Directive Defects in Java API Documentation.” IEEE Transactions on Software Engineering, vol. 46, no. 9, 2018, pp. 1004–23, https://doi.org/10.1109/TSE.2018.2872971.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.