E. Murphy-Hill, Caitlin Sadowski, Andrew Head, John M. Daughtry, A. Macvean, Ciera Jaspan, C. Winter
{"title":"Discovering API Usability Problems at Scale","authors":"E. Murphy-Hill, Caitlin Sadowski, Andrew Head, John M. Daughtry, A. Macvean, Ciera Jaspan, C. Winter","doi":"10.1145/3194793.3194795","DOIUrl":null,"url":null,"abstract":"Software developers' productivity can be negatively impacted by using APIs incorrectly. In this paper, we describe an analysis technique we designed to find API usability problems by comparing successive file-level changes made by individual software developers. We applied our tool, StopMotion, to the file histories of real developers doing real tasks at Google. The results reveal several API usability challenges including simple typos, conceptual API misalignments, and conflation of similar APIs.","PeriodicalId":164468,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on API Usage and Evolution (WAPI)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE/ACM 2nd International Workshop on API Usage and Evolution (WAPI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3194793.3194795","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17
Abstract
Software developers' productivity can be negatively impacted by using APIs incorrectly. In this paper, we describe an analysis technique we designed to find API usability problems by comparing successive file-level changes made by individual software developers. We applied our tool, StopMotion, to the file histories of real developers doing real tasks at Google. The results reveal several API usability challenges including simple typos, conceptual API misalignments, and conflation of similar APIs.