kirancodes.me
To Proof Maintenance & Beyond!

Inferring Resource Specifications from Natural Language API Documentation

Hao Zhong, Lu Zhang, Tao Xie, Hong Mei

Abstract

Typically, software libraries provide API documentation, through which developers can learn how to use libraries correctly. However, developers may still write code inconsistent with API documentation and thus introduce bugs, as existing research shows that many developers are reluctant to carefully read API documentation. To find those bugs, researchers have proposed various detection approaches based on known specifications. To mine specifications, many approaches have been proposed, and most of them rely on existing client code. Consequently, these mining approaches would fail to mine specifications when client code is not available. In this paper, we propose an approach, called Doc2Spec, that infers resource specifications from API documentation. For our approach, we implemented a tool and conducted an evaluation on Javadocs of five libraries. The results show that our approach infers various specifications with relatively high precisions, recalls, and F-scores. We further evaluated the usefulness of inferred specifications through detecting bugs in open source projects. The results show that specifications inferred by Doc2Spec are useful to detect real bugs in existing projects.

BibTeX
@inproceedings{Zhong-al:ASE09,
  author    = {Hao Zhong and
               Lu Zhang and
               Tao Xie and
               Hong Mei},
  title     = {Inferring Resource Specifications from Natural Language {API} Documentation},
  booktitle = {ASE},
  pages     = {307--318},
  publisher = {{IEEE} Computer Society},
  year      = {2009},
}

Related papers