Cooperative API Misuse Detection Using Correction RulesNIER
Application Programming Interfaces (APIs) grant developers access to functionalities provided by existing code libraries. Due to missing knowledge of how an API is correctly used, developers can unintentionally misuse APIs, and thus introduce bugs. To tackle this issue, recent techniques aim to automatically infer specifications for the correct API usage and to detect misuses. Unfortunately, current techniques suffer from high false-positive rates, leading to many false alarms. While we believe that existing techniques will improve in the future, in this paper, we propose to investigate a different route: We assume that a developer manually detected and fixed an API misuse relating to a third-party library. Based on the change, we can infer a \emph{correction rule} for the API misuse. Then, we can use this correction rule to detect the same and similar API misuses in the same or other projects. This represents a cooperative technique to transfer the knowledge of API-misuse fixes to other developers. We report initial, promising insights on a technical implementation and empirical evidence on the applicability of our technique based on 43 real-world API misuses.
Thu 9 JulDisplayed time zone: (UTC) Coordinated Universal Time change
08:05 - 09:05 | I18-APIs and CommitsNew Ideas and Emerging Results / Journal First / Technical Papers at Silla Chair(s): Massimiliano Di Penta University of Sannio | ||
08:05 8mTalk | Enriching API Documentation with Code Samples and Usage Scenarios from Crowd KnowledgeJ1 Journal First Jingxuan Zhang Nanjing University of Aeronautics and Astronautics, He Jiang School of Software, Dalian University of Technology, Zhilei Ren Dalian University of Technology, Tao Zhang Harbin Engineering University, Zhiqiu Huang Nanjing University of Aeronautics and Astronautics | ||
08:13 6mTalk | Cooperative API Misuse Detection Using Correction RulesNIER New Ideas and Emerging Results Sebastian Nielebock Otto-von-Guericke University Magdeburg, Germany, Robert Heumüller Chair of Software Engineering, Faculty of Computer Science, Otto-von-Guericke-University Magdeburg, Jacob Krüger Otto von Guericke University Magdeburg, Frank Ortmeier Otto-von-Guericke-University Magdeburg, Faculty of Computer Science, Chair of Software Engineering DOI Pre-print | ||
08:19 12mTalk | How Android Developers Handle Evolution-induced API Compatibility Issues: A Large-scale StudyTechnical Technical Papers Hao Xia Fudan University, Yuan Zhang Fudan University, Yingtian Zhou Fudan University, Xiaoting Chen Fudan University, Yang Wang Fudan University, Xiangyu Zhang Purdue University, Shuaishuai Cui Fudan University, Geng Hong Fudan University, Xiaohan Zhang Fudan University, Min Yang Fudan University, Zhemin Yang Fudan University | ||
08:31 12mTalk | An Empirical Study on API Parameter RulesTechnical Technical Papers | ||
08:43 6mTalk | Boosting Automated Program Repair with Bug-Inducing CommitsNIER New Ideas and Emerging Results Ming Wen Huazhong University of Science and Technology, China, Yepang Liu Southern University of Science and Technology, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology | ||
08:49 12mTalk | Software Documentation: The Practitioners' PerspectiveTechnical Technical Papers Emad Aghajani Software Institute, USI - Lugano, Switzerland, Csaba Nagy Software Institute - USI, Lugano, Switzerland, Mario Linares-Vásquez Universidad de los Andes, Laura Moreno Colorado State University, Gabriele Bavota Università della Svizzera italiana, Michele Lanza Universita della Svizzera italiana (USI), David C. Shepherd Virginia Commonwealth University Pre-print Media Attached |