MARBLE: Mining for Boilerplate Code to Identify API Usability Problems
Designing usable APIs is critical to developers’ productivity and software quality, but is quite difficult. Understanding how the API is used by analyzing client code at scale to discover usability issues with the APIs is even harder. In this paper, we focus on “boilerplate” code, which a number of experts in API design have said can be an indicator of API usability problems. We investigate what properties make code count as boilerplate, the reasons for boilerplate, and how programmers can reduce the need for it. We propose MARBLE, a novel approach to automatically mine boilerplate code from a large set of client code. MARBLE adapts existing techniques, including an API usage mining algorithm, an AST comparison algorithm, and a graph partitioning algorithm. We evaluate MARBLE with 13 Java APIs, and show that our algorithm successfully identifies both already-identified and new boilerplate code instances.
Wed 13 Nov Times are displayed in time zone: Tijuana, Baja California change
16:00 - 17:40: API and RenamingPapers / Research Papers / Journal First Presentations at Cortez 2&3 Chair(s): Massimiliano Di PentaUniversity of Sannio | |||
16:00 - 16:20 Talk | CodeKernel: A Graph Kernel based Approach to the Selection of API Usage Examples Research Papers Xiaodong GuThe Hong Kong University of Science and Technology, Hongyu ZhangThe University of Newcastle, Sunghun KimHong Kong University of Science and Technology Pre-print | ||
16:20 - 16:40 Talk | Machine Learning Based Automated Method Name Recommendation: How Far Are We Research Papers Lin Jiangbeijing university of posts and telecommunication, Hui LiuBeijing Institute of Technology, He JiangSchool of Software, Dalian University of Technology Link to publication Pre-print | ||
16:40 - 17:00 Talk | MARBLE: Mining for Boilerplate Code to Identify API Usability Problems Research Papers Daye NamCarnegie Mellon University, Amber HorvathCarnegie Mellon University, Andrew MacveanGoogle, Inc., Brad A. MyersCarnegie Mellon University, Bogdan VasilescuCarnegie Mellon University Pre-print | ||
17:00 - 17:20 Talk | DIRE: A Neural Approach to Decompiled Identifier Renaming Research Papers Jeremy LacomisCarnegie Mellon University, Pengcheng YinCarnegie Mellon University, Edward J. SchwartzCarnegie Mellon University Software Engineering Institute, Miltiadis AllamanisMicrosoft Research, Cambridge, Claire Le GouesCarnegie Mellon University, Graham NeubigCarnegie Mellon University, Bogdan VasilescuCarnegie Mellon University Pre-print Media Attached | ||
17:20 - 17:40 Talk | Automatic Detection and Update Suggestion for Outdated API Names in Documentation Journal First Presentations Seonah LeeGyeongsang National University, Rongxin WuDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology, Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology, Sungwon KangKorea Advanced Institute of Science and Technology Link to publication |