Logo image
Automatic model generation from documentation for Java API functions
Conference paper   Open access

Automatic model generation from documentation for Java API functions

Juan Zhai, Jianjun Huang, Shiqing Ma, Xiangyu Zhang, Lin Tan, Jianhua Zhao and Feng Qin
2016 IEEE/ACM 38th International Conference On Software Engineering (ICSE), Vol.14-22-, pp.380-391
International Conference on Software Engineering, IEEE
ICSE: International Conference on Software Engineering, 38 (Austin, TX, 05/14/2016–05/22/2016)
01/01/2016

Abstract

Computer Science, Software Engineering Engineering, Electrical & Electronic Science & Technology Computer Science Engineering Technology
Modern software systems are becoming increasingly complex, relying on a lot of third-party library support. Library behaviors are hence an integral part of software behaviors. Analyzing them is as important as analyzing the software itself. However, analyzing libraries is highly challenging due to the lack of source code, implementation in different languages, and complex optimizations. We observe that many Java library functions provide excellent documentation, which concisely describes the functionalities of the functions. We develop a novel technique that can construct models for Java API functions by analyzing the documentation. These models are simpler implementations in Java compared to the original ones and hence easier to analyze. More importantly, they provide the same functionalities as the original functions. Our technique successfully models 326 functions from 14 widely used Java classes. We also use these models in static taint analysis on Android apps and dynamic slicing for Java programs, demonstrating the effectiveness and efficiency of our models.
pdf
icse16 Automatic model generation 2016640.49 kBDownloadView
Accepted Manuscript (AM) Open Access
url
http://dx.doi.org/10.1145/2884781.2884881View
Version of Record (VoR) ACM digital library
url
Report an accessibility issueView
Please complete a content remediation request to report an accessibility issue with a library electronic resource, website, or service.

Metrics

207 File downloads
61 Record Views

Details

Logo image