Automatic Model Generation from Documentation for Java API Functions.
Saved in:
| Title: | Automatic Model Generation from Documentation for Java API Functions. |
|---|---|
| Authors: | Juan Zhai1 zhaijuan@seg.nju.edu.cn, Jianjun Huang2 huang427@cs.purdue.edu, Shiqing Ma2 ma229@cs.purdue.edu, Xiangyu Zhang2 xyzhang@cs.purdue.edu, Lin Tan3 lintan@uwaterloo.ca, Jianhua Zhao1 zhaojh@nju.edu.cn, Feng Qin4 qin@cse.ohio-state.edu |
| Source: | ICSE: International Conference on Software Engineering. 5/14/2016, p380-391. 12p. |
| Subjects: | Software documentation, Java programming language, Application program interfaces, Software libraries (Computer programming), Automatic programming (Computer science) |
| Abstract: | Modern software systems are becoming increasingly com- plex, 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. [ABSTRACT FROM AUTHOR] |
| Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Links: – Type: pdflink Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 125519948 AccessLevel: 6 PubType: Conference PubTypeId: conference PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: Automatic Model Generation from Documentation for Java API Functions. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Juan+Zhai%22">Juan Zhai</searchLink><relatesTo>1</relatesTo><i> zhaijuan@seg.nju.edu.cn</i><br /><searchLink fieldCode="AR" term="%22Jianjun+Huang%22">Jianjun Huang</searchLink><relatesTo>2</relatesTo><i> huang427@cs.purdue.edu</i><br /><searchLink fieldCode="AR" term="%22Shiqing+Ma%22">Shiqing Ma</searchLink><relatesTo>2</relatesTo><i> ma229@cs.purdue.edu</i><br /><searchLink fieldCode="AR" term="%22Xiangyu+Zhang%22">Xiangyu Zhang</searchLink><relatesTo>2</relatesTo><i> xyzhang@cs.purdue.edu</i><br /><searchLink fieldCode="AR" term="%22Lin+Tan%22">Lin Tan</searchLink><relatesTo>3</relatesTo><i> lintan@uwaterloo.ca</i><br /><searchLink fieldCode="AR" term="%22Jianhua+Zhao%22">Jianhua Zhao</searchLink><relatesTo>1</relatesTo><i> zhaojh@nju.edu.cn</i><br /><searchLink fieldCode="AR" term="%22Feng+Qin%22">Feng Qin</searchLink><relatesTo>4</relatesTo><i> qin@cse.ohio-state.edu</i> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22ICSE%3A+International+Conference+on+Software+Engineering%22">ICSE: International Conference on Software Engineering</searchLink>. 5/14/2016, p380-391. 12p. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Software+documentation%22">Software documentation</searchLink><br /><searchLink fieldCode="DE" term="%22Java+programming+language%22">Java programming language</searchLink><br /><searchLink fieldCode="DE" term="%22Application+program+interfaces%22">Application program interfaces</searchLink><br /><searchLink fieldCode="DE" term="%22Software+libraries+%28Computer+programming%29%22">Software libraries (Computer programming)</searchLink><br /><searchLink fieldCode="DE" term="%22Automatic+programming+%28Computer+science%29%22">Automatic programming (Computer science)</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: Modern software systems are becoming increasingly com- plex, 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. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=125519948 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1145/2884781.2884881 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 12 StartPage: 380 Subjects: – SubjectFull: Software documentation Type: general – SubjectFull: Java programming language Type: general – SubjectFull: Application program interfaces Type: general – SubjectFull: Software libraries (Computer programming) Type: general – SubjectFull: Automatic programming (Computer science) Type: general Titles: – TitleFull: Automatic Model Generation from Documentation for Java API Functions. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Juan Zhai – PersonEntity: Name: NameFull: Jianjun Huang – PersonEntity: Name: NameFull: Shiqing Ma – PersonEntity: Name: NameFull: Xiangyu Zhang – PersonEntity: Name: NameFull: Lin Tan – PersonEntity: Name: NameFull: Jianhua Zhao – PersonEntity: Name: NameFull: Feng Qin IsPartOfRelationships: – BibEntity: Dates: – D: 14 M: 05 Text: 5/14/2016 Type: published Y: 2016 Titles: – TitleFull: ICSE: International Conference on Software Engineering Type: main |
| ResultId | 1 |