Mining Effective Temporal Specifications from Heterogeneous API Data

Temporal specifications for Application Programming Interfaces (APIs) serve as an important basis for many defect detection tools. As these specifications are often not well documented, various approaches have been proposed to automatically mine specifications typically from API library source code...

Full description

Saved in:
Bibliographic Details
Published inJournal of computer science and technology Vol. 26; no. 6; pp. 1061 - 1075
Main Author 吴倩 梁广泰 王千祥 梅宏
Format Journal Article
LanguageEnglish
Published Boston Springer US 01.11.2011
Springer Nature B.V
Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Temporal specifications for Application Programming Interfaces (APIs) serve as an important basis for many defect detection tools. As these specifications are often not well documented, various approaches have been proposed to automatically mine specifications typically from API library source code or from API client programs. However, the library-based approaches take substantial computational resources and produce rather limited useful specifications, while the client-based approaches suffer from high false positive rates. To address the issues of existing approaches, we propose a novel specification mining approach, called MineHEAD, which exploits heterogeneous API data, including information from API client programs as well as API library source code and comments, to produce effective specifications for defect detection with low cost. In particular, MineHEAD first applies client-based specification mining to produce a collection of candidate specifications, and then exploits the related library source code and comments to identify and refine the real specifications from the candidates. Our evaluation results on nine open source projects show that MineHEAD produces effective specifications with average precision of 97.2%.
Bibliography:specification mining, specification refinement, defect detection, comment analysis
Temporal specifications for Application Programming Interfaces (APIs) serve as an important basis for many defect detection tools. As these specifications are often not well documented, various approaches have been proposed to automatically mine specifications typically from API library source code or from API client programs. However, the library-based approaches take substantial computational resources and produce rather limited useful specifications, while the client-based approaches suffer from high false positive rates. To address the issues of existing approaches, we propose a novel specification mining approach, called MineHEAD, which exploits heterogeneous API data, including information from API client programs as well as API library source code and comments, to produce effective specifications for defect detection with low cost. In particular, MineHEAD first applies client-based specification mining to produce a collection of candidate specifications, and then exploits the related library source code and comments to identify and refine the real specifications from the candidates. Our evaluation results on nine open source projects show that MineHEAD produces effective specifications with average precision of 97.2%.
11-2296/TP
Qian Wu, Guang-Tai Liang, Qian-Xiang Wang , Hong Mei Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China
ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:1000-9000
1860-4749
DOI:10.1007/s11390-011-1201-0