Automatic Model Generation from Documentation for Java API Functions.

Saved in:
Bibliographic Details
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