{"title":"Using Program Analysis to Improve API Learnability","authors":"Kyle Thayer","doi":"10.1145/3230977.3231009","DOIUrl":null,"url":null,"abstract":"Learning from API documentation and tutorials is challenging for many programmers. Improving the learnability of APIs can reduce this barrier, especially for new programmers. We will use the tools of program analysis to extract key concepts and learning dependencies from API source code, API documentation, open source code, and other online sources of information on APIs. With this information we will generate learning maps for any user-provided code snippet, and will take users through each concept used in the code snippet. Users may also navigate through the most commonly used features of an API without providing a code snippet. We also hope to extend this work to help users find the features of an API they need and also help them integrate that into their code.","PeriodicalId":444336,"journal":{"name":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-08-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3230977.3231009","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Learning from API documentation and tutorials is challenging for many programmers. Improving the learnability of APIs can reduce this barrier, especially for new programmers. We will use the tools of program analysis to extract key concepts and learning dependencies from API source code, API documentation, open source code, and other online sources of information on APIs. With this information we will generate learning maps for any user-provided code snippet, and will take users through each concept used in the code snippet. Users may also navigate through the most commonly used features of an API without providing a code snippet. We also hope to extend this work to help users find the features of an API they need and also help them integrate that into their code.