Automatic model generation from documentation for Java API functions

Juan Zhai, Jianjun Huang, Shiqing Ma, Xiangyu Zhang, Lin Tan, Jianhua Zhao, Feng Qin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

31 Scopus citations

Abstract

Modern software systems are becoming increasingly com-plex, relying on a lot of third-party library support. Li-brary behaviors are hence an integral part of software be-haviors. Analyzing them is as important as analyzing the software itself. However, analyzing libraries is highly chal-lenging due to the lack of source code, implementation in different languages, and complex optimizations. We observe that many Java library functions provide excellent documen-tation, which concisely describes the functionalities of the functions. We develop a novel technique that can construct models for Java API functions by analyzing the documen-tation. 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.

Original languageEnglish (US)
Title of host publicationProceedings - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, ICSE 2016
PublisherIEEE Computer Society
Pages380-391
Number of pages12
ISBN (Electronic)9781450339001, 9781450342056
DOIs
StatePublished - May 14 2016
Externally publishedYes
Event2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016 - Austin, United States
Duration: May 14 2016May 22 2016

Publication series

NameProceedings - International Conference on Software Engineering
Volume14-22-May-2016
ISSN (Print)0270-5257

Other

Other2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016
Country/TerritoryUnited States
CityAustin
Period5/14/165/22/16

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Automatic model generation from documentation for Java API functions'. Together they form a unique fingerprint.

Cite this