Institutional Repository
| Detecting API documentation errors | |
| Zhong, Hao (1); Su, Zhendong (2) | |
| 2013 | |
| Source | ACM SIGPLAN Notices
![]() |
| ISSN | 15232867 |
| Volume | 48Issue:10Pages:803-815 |
| English Abstract | When programmers encounter an unfamiliar API library, they often need to refer to its documentations, tutorials, or discussions on development forums to learn its proper usage. These API documents contain valuable information, but may also mislead programmers as they may contain errors (e.g., broken code names and obsolete code samples). Although most API documents are actively maintained and updated, studies show that many new and latent errors do exist. It is tedious and error-prone to find such errors manually as API documents can be enormous with thousands of pages. Existing tools are ineffective in locating documentation errors because traditional natural language (NL) tools do not understand code names and code samples, and traditional code analysis tools do not understand NL sentences. In this paper, we propose the first approach, DocRef, specifically designed and developed to detect API documentation errors. We formulate a class of inconsistencies to indicate potential documentation errors, and combine NL and code analysis techniques to detect and report such inconsistencies. We have implemented DocRef and evaluated its effectiveness on the latest documentations of five widely-used API libraries. DocRef has detected more than 1,000 new documentation errors, which we have reported to the authors. Many of the errors have already been confirmed and fixed, after we reported them. Copyright © 2013. Copyright © 2013 ACM.; When programmers encounter an unfamiliar API library, they often need to refer to its documentations, tutorials, or discussions on development forums to learn its proper usage. These API documents contain valuable information, but may also mislead programmers as they may contain errors (e.g., broken code names and obsolete code samples). Although most API documents are actively maintained and updated, studies show that many new and latent errors do exist. It is tedious and error-prone to find such errors manually as API documents can be enormous with thousands of pages. Existing tools are ineffective in locating documentation errors because traditional natural language (NL) tools do not understand code names and code samples, and traditional code analysis tools do not understand NL sentences. In this paper, we propose the first approach, DocRef, specifically designed and developed to detect API documentation errors. We formulate a class of inconsistencies to indicate potential documentation errors, and combine NL and code analysis techniques to detect and report such inconsistencies. We have implemented DocRef and evaluated its effectiveness on the latest documentations of five widely-used API libraries. DocRef has detected more than 1,000 new documentation errors, which we have reported to the authors. Many of the errors have already been confirmed and fixed, after we reported them. Copyright © 2013. Copyright © 2013 ACM. |
| Indexed Type | SCI ; EI |
| Keyword | Documentation Experimentation Reliability Api Documentation Error Outdated Documentation |
| Department | (1) Institute of Software, Chinese Academy of Sciences, China; (2) University of California, Davis, United States |
| Language | 英语 |
| WOS ID | WOS:000327697300045 |
| Citation statistics | |
| Content Type | 期刊论文 |
| URI | http://ir.iscas.ac.cn/handle/311060/16909 |
| Collection | 中国科学院软件研究所 |
| Recommended Citation GB/T 7714 | Zhong, Hao ,Su, Zhendong . Detecting API documentation errors[J]. ACM SIGPLAN Notices,2013,48(10):803-815. |
| APA | Zhong, Hao ,&Su, Zhendong .(2013).Detecting API documentation errors.ACM SIGPLAN Notices,48(10),803-815. |
| MLA | Zhong, Hao ,et al."Detecting API documentation errors".ACM SIGPLAN Notices 48.10(2013):803-815. |
| Files in This Item: | There are no files associated with this item. | |||||
Items in the repository are protected by copyright, with all rights reserved, unless otherwise indicated.
Edit Comment