Automatic Detection and Repair Recommendation of Directive Defects in Java API Documentation
Application Programming Interfaces (APIs) represent key tools for software developers to build complex software systems. However, several studies have revealed that even major API providers tend to have incomplete or inconsistent API documentation. This can severely hamper the API comprehension and,...
Saved in:
Published in | IEEE transactions on software engineering Vol. 46; no. 9; pp. 1004 - 1023 |
---|---|
Main Authors | , , , , , |
Format | Journal Article |
Language | English |
Published |
New York
IEEE
01.09.2020
IEEE Computer Society |
Subjects | |
Online Access | Get full text |
ISSN | 0098-5589 1939-3520 |
DOI | 10.1109/TSE.2018.2872971 |
Cover
Abstract | Application Programming Interfaces (APIs) represent key tools for software developers to build complex software systems. However, several studies have revealed that even major API providers tend to have incomplete or inconsistent API documentation. This can severely hamper the API comprehension and, as a consequence, the quality of the software built on them. In this paper, we propose DRONE ( D etect and R epair of d O cumentatio N d E fects), a framework to automatically detect and repair defects from API documents by leveraging techniques from program analysis, natural language processing, and constraint solving. Specifically, we target at the directives of API documents, which are related to parameter constraints and exception handling declarations. Furthermore, in presence of defects, we also provide a prototypical repair recommendation system. We evaluate our approach on parts of the well-documented APIs of JDK 1.8 APIs (including javaFX) and Android 7.0 (level 24). Across the two empirical studies, our approach can detect API defects with an average F-measure of 79.9, 71.7, and 81.4 percent, respectively. The API repairing capability has also been evaluated on the generated recommendations in a further experiment. User judgments indicate that the constraint information is addressed correctly and concisely in the rendered directives. |
---|---|
AbstractList | Application Programming Interfaces (APIs) represent key tools for software developers to build complex software systems. However, several studies have revealed that even major API providers tend to have incomplete or inconsistent API documentation. This can severely hamper the API comprehension and, as a consequence, the quality of the software built on them. In this paper, we propose DRONE ( D etect and R epair of d O cumentatio N d E fects), a framework to automatically detect and repair defects from API documents by leveraging techniques from program analysis, natural language processing, and constraint solving. Specifically, we target at the directives of API documents, which are related to parameter constraints and exception handling declarations. Furthermore, in presence of defects, we also provide a prototypical repair recommendation system. We evaluate our approach on parts of the well-documented APIs of JDK 1.8 APIs (including javaFX) and Android 7.0 (level 24). Across the two empirical studies, our approach can detect API defects with an average F-measure of 79.9, 71.7, and 81.4 percent, respectively. The API repairing capability has also been evaluated on the generated recommendations in a further experiment. User judgments indicate that the constraint information is addressed correctly and concisely in the rendered directives. |
Author | Chen, Taolue Wang, Changzhi Zhou, Yu Yan, Xin Gall, Harald Panichella, Sebastiano |
Author_xml | – sequence: 1 givenname: Yu orcidid: 0000-0002-3723-7584 surname: Zhou fullname: Zhou, Yu email: zhouyu@nuaa.edu.cn organization: College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, China – sequence: 2 givenname: Changzhi orcidid: 0000-0002-4055-1064 surname: Wang fullname: Wang, Changzhi email: czwang@nuaa.edu.cn organization: College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, China – sequence: 3 givenname: Xin orcidid: 0000-0003-1400-8604 surname: Yan fullname: Yan, Xin email: xin_yan@nuaa.edu.cn organization: College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, China – sequence: 4 givenname: Taolue orcidid: 0000-0002-5993-1665 surname: Chen fullname: Chen, Taolue email: taolue@dcs.bbk.ac.uk organization: Department of Computer Science and Information Systems, Birkbeck, University of London, Bloomsbury, London, United Kingdom – sequence: 5 givenname: Sebastiano orcidid: 0000-0003-4120-626X surname: Panichella fullname: Panichella, Sebastiano email: spanichella@gmail.com organization: Department of Informatics, Zurich University of Applied Science, Winterthur, Switzerland – sequence: 6 givenname: Harald surname: Gall fullname: Gall, Harald email: gall@ifi.uzh.ch organization: Department of Informatics, University of Zurich, Zurich, Switzerland |
BookMark | eNp9kMFLwzAUh4NMcJveBS8Fz51JmjTJcWxTJwNF500oMX2FjLWZaTrwvzdbhwcPnt6D933v8X4jNGhcAwhdEzwhBKu79dtiQjGREyoFVYKcoSFRmUozTvEADTFWMuVcqgs0atsNxpgLwYfoY9oFV-tgTTKHACZY1yS6KZNX2GnrYzGurqEp9XHiqmRu_QHbQxSq2LWJbZInvdfJ9GWZzJ3pIh6O-CU6r_S2hatTHaP3-8V69piunh-Ws-kqNVSRkGqpPmnGRSYqAawsCaZVqXjOOGijFdO5EGAIoUxkcWqwgpIxQjPGGZElZGN02-_deffVQRuKjet8E08WlDGWE5lzHincU8a7tvVQFTtva-2_C4KLQ4ZFzLA4ZFicMoxK_kcxtn8teG23_4k3vWgB4PeOZEJizLIfCl9_vw |
CODEN | IESEDJ |
CitedBy_id | crossref_primary_10_1002_stvr_1785 crossref_primary_10_1007_s10664_023_10392_x crossref_primary_10_1109_TLT_2024_3396735 crossref_primary_10_1145_3637229 crossref_primary_10_1016_j_jss_2024_112296 crossref_primary_10_1109_TSE_2022_3185458 crossref_primary_10_1007_s10515_024_00442_z crossref_primary_10_1109_TSE_2019_2930519 crossref_primary_10_1145_3617946_3617957 crossref_primary_10_1007_s10515_023_00401_0 crossref_primary_10_1016_j_jss_2022_111425 crossref_primary_10_1016_j_jss_2022_111515 crossref_primary_10_1186_s42400_022_00118_9 crossref_primary_10_1145_3573074_3573101 crossref_primary_10_1007_s10664_023_10397_6 |
Cites_doi | 10.1109/MSR.2017.42 10.1145/2889160.2889170 10.1145/2544173.2509523 10.3115/974147.974178 10.1145/2950290.2950299 10.1145/1323293.1294276 10.1007/s10664-014-9350-8 10.1109/ICSE.2017.11 10.1109/ICPC.2012.6240510 10.1145/1390630.1390664 10.1109/TSE.2012.63 10.1145/1858996.1859081 10.1145/2642937.2642969 10.1145/1166324.1166346 10.1007/s10664-011-9186-4 10.1145/2884781.2884847 10.1145/2568225.2568313 10.1145/2597008.2597149 10.1109/ICPC.2013.6613836 10.1109/ICSM.2015.7332474 10.1145/2775441.2775457 10.1007/978-3-319-77712-2_22 10.1109/ICST.2012.106 10.1145/2597008.2597155 10.1109/SANER.2017.7884612 10.1109/TSE.2014.2347969 10.1145/1882291.1882312 10.1007/s10664-014-9323-y 10.1109/ICSE-C.2017.5 10.1109/WCRE.2013.6671289 10.1145/2642937.2642988 10.1109/ESEM.2013.14 10.1145/1176617.1176622 10.1109/SANER.2017.7884638 10.1109/MS.2014.80 10.1109/ICSE-C.2017.169 10.1109/ICSE.2001.919096 10.1007/978-3-642-19811-3_29 10.1109/ICSE.2013.6606571 10.1145/2884781.2884800 10.1145/2025113.2025151 10.1109/ICPC.2013.6613842 10.1109/ICPC.2013.6613855 10.1145/2568225.2568299 10.1145/1520340.1520678 10.1145/1181775.1181808 10.1109/ICPC.2013.6613830 10.1007/978-1-4020-6264-3_23 10.1145/2568225.2568234 10.1109/ASE.2009.94 10.1145/2950290.2983938 10.1109/ICSE.2015.97 10.1109/SANER.2015.7081813 10.1145/2931037.2931061 10.1109/WAPI.2017.2 10.1109/ICSE.2013.6606629 10.1109/ICPC.2013.6613851 10.1145/1985793.1985796 10.1145/2597008.2597799 10.1145/585058.585065 10.1109/ICSE.2012.6227137 10.1145/1858996.1859006 10.1109/ASE.2015.12 |
ContentType | Journal Article |
Copyright | Copyright IEEE Computer Society 2020 |
Copyright_xml | – notice: Copyright IEEE Computer Society 2020 |
DBID | 97E RIA RIE AAYXX CITATION JQ2 K9. |
DOI | 10.1109/TSE.2018.2872971 |
DatabaseName | IEEE Xplore (IEEE) IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef ProQuest Computer Science Collection ProQuest Health & Medical Complete (Alumni) |
DatabaseTitle | CrossRef ProQuest Health & Medical Complete (Alumni) ProQuest Computer Science Collection |
DatabaseTitleList | ProQuest Health & Medical Complete (Alumni) |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1939-3520 |
EndPage | 1023 |
ExternalDocumentID | 10_1109_TSE_2018_2872971 8478004 |
Genre | orig-research |
GrantInformation_xml | – fundername: ARC Discovery Project grantid: DP160101652; DP180100691 – fundername: National Key R&D Program of China grantid: 2018YFB1003900 – fundername: Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung; Swiss National Science Foundation grantid: 200021-166275 funderid: 10.13039/501100001711 – fundername: Collaborative Innovation Center of Novel Software Technology in China – fundername: UK EPSRC grantid: EP/P00430X/1 – fundername: National Natural Science Foundation of China; NSFC grantid: 61662035 funderid: 10.13039/501100001809 |
GroupedDBID | --Z -DZ -~X .DC 0R~ 29I 4.4 5GY 6IK 85S 8R4 8R5 97E AAJGR AARMG AASAJ AAWTH ABAZT ABPPZ ABQJQ ABVLG ACGFO ACGOD ACIWK ACNCT AENEX AGQYO AHBIQ AKJIK AKQYR ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV BEFXN BFFAM BGNUA BKEBE BKOMP BPEOZ CS3 DU5 EBS EDO EJD HZ~ I-F IEDLZ IFIPE IPLJI JAVBF LAI M43 MS~ O9- OCL P2P Q2X RIA RIE RNS RXW S10 TAE TN5 TWZ UHB UPT WH7 YZZ AAYXX ALIPV CITATION JQ2 K9. |
ID | FETCH-LOGICAL-c291t-a89b235737f7e4dd102fd95645eaca94a677ec112473dd1c09ed4412345418de3 |
IEDL.DBID | RIE |
ISSN | 0098-5589 |
IngestDate | Mon Jun 30 08:47:34 EDT 2025 Thu Apr 24 23:04:05 EDT 2025 Tue Jul 01 01:53:18 EDT 2025 Wed Aug 27 02:32:26 EDT 2025 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 9 |
Language | English |
License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html https://doi.org/10.15223/policy-029 https://doi.org/10.15223/policy-037 |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c291t-a89b235737f7e4dd102fd95645eaca94a677ec112473dd1c09ed4412345418de3 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ORCID | 0000-0002-4055-1064 0000-0002-3723-7584 0000-0002-5993-1665 0000-0003-1400-8604 0000-0003-4120-626X |
PQID | 2444618655 |
PQPubID | 21418 |
PageCount | 20 |
ParticipantIDs | proquest_journals_2444618655 ieee_primary_8478004 crossref_primary_10_1109_TSE_2018_2872971 crossref_citationtrail_10_1109_TSE_2018_2872971 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2020-09-01 |
PublicationDateYYYYMMDD | 2020-09-01 |
PublicationDate_xml | – month: 09 year: 2020 text: 2020-09-01 day: 01 |
PublicationDecade | 2020 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York |
PublicationTitle | IEEE transactions on software engineering |
PublicationTitleAbbrev | TSE |
PublicationYear | 2020 |
Publisher | IEEE IEEE Computer Society |
Publisher_xml | – name: IEEE – name: IEEE Computer Society |
References | ref57 ref13 ref56 ref12 ref59 ref15 ref58 ref53 ref52 ref55 ref11 ref54 ref10 ref17 ref19 ref18 shold (ref14) 2014 ref51 ref50 iyer (ref2) 0 ref46 ref45 ref48 ref47 ref42 ref41 ref44 ref43 ref49 ref8 ref7 ref9 ref4 ref3 ref6 ref5 ref40 ref34 ref37 ref36 ref31 ref30 ref33 ref32 barrett (ref27) 2009; 185 ref1 ref39 lam (ref38) 2011 feldt (ref35) 2010 ref71 ref70 ref72 ref68 ref24 ref67 bjørner (ref21) 2008 ref23 asmussen (ref26) 2015 ref69 ref25 ref64 ref20 ref63 ref66 ref22 ref65 ref28 duvander (ref16) 2013 ref29 ref60 ref62 ref61 |
References_xml | – start-page: 374 year: 2010 ident: ref35 article-title: Validity threats in empirical software engineering research-an initial survey publication-title: Proc Int Conf on Software Eng Knowledge Eng – ident: ref46 doi: 10.1109/MSR.2017.42 – ident: ref23 doi: 10.1145/2889160.2889170 – ident: ref43 doi: 10.1145/2544173.2509523 – ident: ref24 doi: 10.3115/974147.974178 – ident: ref54 doi: 10.1145/2950290.2950299 – ident: ref66 doi: 10.1145/1323293.1294276 – ident: ref42 doi: 10.1007/s10664-014-9350-8 – ident: ref9 doi: 10.1109/ICSE.2017.11 – year: 2013 ident: ref16 article-title: API consumers want reliability, documentation and community – ident: ref10 doi: 10.1109/ICPC.2012.6240510 – ident: ref37 doi: 10.1145/1390630.1390664 – ident: ref45 doi: 10.1109/TSE.2012.63 – ident: ref61 doi: 10.1145/1858996.1859081 – ident: ref70 doi: 10.1145/2642937.2642969 – ident: ref7 doi: 10.1145/1166324.1166346 – start-page: 8 year: 2011 ident: ref38 article-title: The soot framework for Java program analysis: A retrospective publication-title: Proceedings of the Cetus Users and Compiler Infastructure Workshop (CETUS11) – ident: ref20 doi: 10.1007/s10664-011-9186-4 – ident: ref32 doi: 10.1145/2884781.2884847 – ident: ref72 doi: 10.1145/2568225.2568313 – ident: ref34 doi: 10.1145/2597008.2597149 – ident: ref69 doi: 10.1109/ICPC.2013.6613836 – ident: ref57 doi: 10.1109/ICSM.2015.7332474 – ident: ref5 doi: 10.1145/2775441.2775457 – ident: ref39 doi: 10.1007/978-3-319-77712-2_22 – year: 0 ident: ref2 article-title: The strategic value of APIs publication-title: Harvard Bus Rev – ident: ref68 doi: 10.1109/ICST.2012.106 – ident: ref8 doi: 10.1145/2597008.2597155 – ident: ref56 doi: 10.1109/SANER.2017.7884612 – ident: ref50 doi: 10.1109/TSE.2014.2347969 – year: 2014 ident: ref14 article-title: The importance of documentation – ident: ref41 doi: 10.1145/1882291.1882312 – ident: ref51 doi: 10.1007/s10664-014-9323-y – ident: ref55 doi: 10.1109/ICSE-C.2017.5 – ident: ref6 doi: 10.1109/WCRE.2013.6671289 – ident: ref65 doi: 10.1145/2642937.2642988 – ident: ref1 doi: 10.1109/ESEM.2013.14 – ident: ref18 doi: 10.1145/1176617.1176622 – ident: ref12 doi: 10.1109/SANER.2017.7884638 – ident: ref15 doi: 10.1109/MS.2014.80 – ident: ref28 doi: 10.1109/ICSE-C.2017.169 – ident: ref59 doi: 10.1109/ICSE.2001.919096 – ident: ref40 doi: 10.1007/978-3-642-19811-3_29 – ident: ref63 doi: 10.1109/ICSE.2013.6606571 – start-page: 337 year: 2008 ident: ref21 article-title: Z3: an efficient SMT solver publication-title: Proc 14th Int Conf Tools Algorithms Construction Anal Syst – ident: ref71 doi: 10.1145/2884781.2884800 – ident: ref62 doi: 10.1145/2025113.2025151 – ident: ref53 doi: 10.1109/ICPC.2013.6613842 – ident: ref30 doi: 10.1109/ICPC.2013.6613855 – ident: ref19 doi: 10.1145/2568225.2568299 – ident: ref4 doi: 10.1145/1520340.1520678 – ident: ref60 doi: 10.1145/1181775.1181808 – volume: 185 start-page: 825 year: 2009 ident: ref27 article-title: Satisfiability modulo theories publication-title: Handbook of Satisfiability – year: 2015 ident: ref26 article-title: Survey of POS taggers-approaches to making words tell who they are – ident: ref29 doi: 10.1109/ICPC.2013.6613830 – ident: ref25 doi: 10.1007/978-1-4020-6264-3_23 – ident: ref64 doi: 10.1145/2568225.2568234 – ident: ref47 doi: 10.1109/ASE.2009.94 – ident: ref58 doi: 10.1145/2950290.2983938 – ident: ref11 doi: 10.1109/ICSE.2015.97 – ident: ref17 doi: 10.1109/SANER.2015.7081813 – ident: ref44 doi: 10.1145/2931037.2931061 – ident: ref3 doi: 10.1109/WAPI.2017.2 – ident: ref49 doi: 10.1109/ICSE.2013.6606629 – ident: ref31 doi: 10.1109/ICPC.2013.6613851 – ident: ref67 doi: 10.1145/1985793.1985796 – ident: ref13 doi: 10.1145/2597008.2597799 – ident: ref36 doi: 10.1145/585058.585065 – ident: ref48 doi: 10.1109/ICSE.2012.6227137 – ident: ref33 doi: 10.1145/1858996.1859006 – ident: ref22 doi: 10.1109/ASE.2015.12 – ident: ref52 doi: 10.1109/ICSE.2015.97 |
SSID | ssj0005775 ssib053395008 |
Score | 2.4785318 |
Snippet | Application Programming Interfaces (APIs) represent key tools for software developers to build complex software systems. However, several studies have revealed... |
SourceID | proquest crossref ieee |
SourceType | Aggregation Database Enrichment Source Index Database Publisher |
StartPage | 1004 |
SubjectTerms | Androids API documentation Application programming interface Defects directive defects Documentation Drones Empirical analysis Evaluation Exception handling Humanoid robots Maintenance engineering Mobile operating systems Natural language processing Recommender systems Repair repair recommendation Software Software development |
Title | Automatic Detection and Repair Recommendation of Directive Defects in Java API Documentation |
URI | https://ieeexplore.ieee.org/document/8478004 https://www.proquest.com/docview/2444618655 |
Volume | 46 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3NS8MwFA9zJy9OneJ0Sg5eBNv1I1ma43AbOpgIbrCDUNImhaG2MlsP_vW-pB_iB-Kt0LwQ-pKX32t--T2EzlUSsUA4sRVxAgkKi4gVUUhc-ZAqNxIe94S-KDy_HV4vyWxFVy102dyFUUoZ8pmy9aM5y5dZXOhfZQOIpIER_9yCaVbe1fqkczBGa31MSgNeH0k6fLC4n2gOV2BDduBx5n7ZgkxNlR-B2Owu0w6a1-MqSSWPdpFHdvz-TbLxvwPfRTsVzMSjcl7soZZK91GnLuGAqxXdRQ-jIs-Maiseq9zQslIsUokBmIv1Buvs9Bk6Lysv4SzBTYwEA0MFwesUz8SbwKO7GzyuxmKaH6DldLK4uraqggtW7HE3t0TAIy1_47OEKSIlgI9Ecq03A-FZcCKGjKkYEBphPryNHa4kwCnPJ5S4gVT-IWqnWaqOEKYJDRIB1owqIvyEu0IxKRzpDj3p-F4PDWofhHGlRq6LYjyFJitxeAheC7XXwsprPXTRWLyUShx_tO1qJzTtqu_fQ_3azWG1VF9DwDdEFw2g9Ph3qxO07ekk2xDL-qidbwp1Ckgkj87MFPwA3IjZ3A |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwFH6IHvTi1ClOp-bgRbBbfyRLcxxusqkTwQkehJI2KQy1k9l58K_3JW0n_kC8FZoXQr_k5XvNy_cAjnUa81C6iRMLigEKj6kTMwxcRYdpL5a-8KW5KDy67gzu6MU9u1-C08VdGK21TT7TLfNoz_LVNJmbX2Vt9KShFf9cwX2fsuK21mdCB-esUshkLBTVoaQr2uPbvsniClsYH_iCe182IVtV5YcrtvvLeQ1G1ciKtJLH1jyPW8n7N9HG_w59A9ZLokm6xczYhCWdbUGtKuJAyjVdh4fuPJ9a3VbS07lNzMqIzBRBai4nM2Li02fsvKi9RKYpWXhJNLDJIGSSkQv5Jkn3Zkh65Vhs8224O--PzwZOWXLBSXzh5Y4MRWwEcAKeck2VQvqRKmEUZ9BBS0Flh3OdIEejPMC3iSu0QkLlB4iHFyod7MByNs30LhCWsjCVaM2ZpjJIhSc1V9JVXsdXbuA3oF1hECWlHrkpi_EU2bjEFRGiFhnUohK1BpwsLF4KLY4_2tYNCIt25fdvQLOCOSoX62uEDIeasgGM7f1udQSrg_HoKroaXl_uw5pvQm6bZtaE5Xw21wfIS_L40E7HD24y3Sk |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Automatic+Detection+and+Repair+Recommendation+of+Directive+Defects+in+Java+API+Documentation&rft.jtitle=IEEE+transactions+on+software+engineering&rft.au=Zhou%2C+Yu&rft.au=Wang%2C+Changzhi&rft.au=Yan%2C+Xin&rft.au=Chen%2C+Taolue&rft.date=2020-09-01&rft.pub=IEEE&rft.issn=0098-5589&rft.volume=46&rft.issue=9&rft.spage=1004&rft.epage=1023&rft_id=info:doi/10.1109%2FTSE.2018.2872971&rft.externalDocID=8478004 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0098-5589&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0098-5589&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0098-5589&client=summon |