Assisting Example-based API Misuse Detection via Complementary Artificial Examples
Thu 12 May 2022 11:00 - 11:05 at ICSE room 2-odd hours - Mining Software Repositories 5 Chair(s): Sonia Haiduc
Fri 27 May 2022 09:05 - 09:10 at Room 301+302 - Papers 16: Mining Software Repositories 1 Chair(s): Grace Lewis
Application Programming Interfaces (APIs) allow their users to reuse existing software functionality without implementing it by themselves. However, using external functionality can come at a cost. Because developers are decoupled from the API’s inner workings, they face the possibility of misunderstanding, and therefore misusing APIs. Prior research has proposed state-of-the-art example-based API misuse detectors that rely on existing API usage examples mined from existing code bases. Intuitively, without a varied dataset of API usage examples, it is challenging for the example-based API misuse detectors to differentiate between infrequent but correct API usages and API misuses. Such mistakes lead to false positives in the API misuse detection results, which was reported in a recent study as a major limitation of the state-of-the-art. To tackle this challenge, in this paper, we first undertake a qualitative study of 384 falsely detected API misuses. We find that around one third of the false-positives are due to missing alternative correct API usage examples. Based on the knowledge gained from the qualitative study, we uncover five patterns which can be followed to generate artificial examples for complementing existing API usage examples in the API misuse detection.
To evaluate the usefulness of the generated artificial examples, we apply a state-of-the-art example-based API misuse detector on 50 open source Java projects. We find that our artificial examples can complement the existing API usage examples by preventing the detection of 55 false API misuses. Furthermore, we conduct a pre-designed experiment in an automated API misuse detection benchmark (MUBench), in order to evaluate the impact of generated artificial examples on recall. We find that the API misuse detector covers the same true positive results with and without the artificial example, i.e., obtains the same recall of 94.7%. Our findings highlight the potential of improving API misuse detection by pattern-guided source code transformation techniques.
Tue 10 MayDisplayed time zone: Eastern Time (US & Canada) change
Thu 12 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:00 | Mining Software Repositories 5Journal-First Papers / Technical Track / SEIP - Software Engineering in Practice at ICSE room 2-odd hours Chair(s): Sonia Haiduc | ||
11:00 5mTalk | Assisting Example-based API Misuse Detection via Complementary Artificial Examples Journal-First Papers Maxime Lamothe Polytechnique Montréal, Heng Li Polytechnique Montréal, Weiyi Shang Concordia University Link to publication DOI Pre-print Media Attached | ||
11:05 5mTalk | What happens in my code reviews? An investigation on automatically classifying review changes Journal-First Papers Enrico Fregnan University of Zurich, Switzerland, Fernando Petrulio University of Zurich, Linda Di Geronimo University of Zurich, Switzerland, Alberto Bacchelli University of Zurich Link to publication Pre-print Media Attached | ||
11:10 5mTalk | Breaking Type Safety in Go: An Empirical Study on the Usage of the unsafe Package Journal-First Papers Diego Costa Concordia University, Canada, Suhaib Mujahid Concordia University, Rabe Abdalkareem Carleton University, Emad Shihab Concordia University Link to publication Pre-print Media Attached | ||
11:15 5mTalk | An Empirical Study of Release Note Production and Usage in Practice Journal-First Papers Tingting Bi Monash Univerity, Xin Xia Huawei Software Engineering Application Technology Lab, David Lo Singapore Management University, John Grundy Monash University, Thomas Zimmermann Microsoft Research | ||
11:20 5mTalk | Bus Factor In Practice SEIP - Software Engineering in Practice Elgun Jabrayilzade Bilkent University, Mikhail Evtikhiev JetBrains Research, Eray Tüzün Bilkent University, Vladimir Kovalenko JetBrains Research Pre-print Media Attached | ||
11:25 5mTalk | BugListener: Identifying and Synthesizing Bug Reports from Collaborative Live Chats Technical Track Lin Shi ISCAS, Fangwen Mu Institute of Software Chinese Academy of Sciences, YuMin Zhang Institute of Software, Chinese Academy of Sciences, Ye Yang Stevens Institute of Technology, Junjie Chen Tianjin University, Xiao Chen Monash University, Hanzhi Jiang Institute of Software at Chinese Academy of Sciences, Ziyou Jiang Institute of Software at Chinese Academy of Sciences, Qing Wang Institute of Software at Chinese Academy of Sciences Pre-print Media Attached |
Fri 27 MayDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 10:30 | Papers 16: Mining Software Repositories 1NIER - New Ideas and Emerging Results / Technical Track / Journal-First Papers / SEIP - Software Engineering in Practice at Room 301+302 Chair(s): Grace Lewis Carnegie Mellon Software Engineering Institute | ||
09:00 5mTalk | Post2Vec: Learning Distributed Representations of Stack Overflow Posts Journal-First Papers Bowen Xu Singapore Management University, Thong Hoang Singapore Management University, Singapore, Abhishek Sharma Veracode, Inc., Chengran Yang Singapore Management University, Xin Xia Huawei Software Engineering Application Technology Lab, David Lo Singapore Management University Link to publication DOI Pre-print | ||
09:05 5mTalk | Assisting Example-based API Misuse Detection via Complementary Artificial Examples Journal-First Papers Maxime Lamothe Polytechnique Montréal, Heng Li Polytechnique Montréal, Weiyi Shang Concordia University Link to publication DOI Pre-print Media Attached | ||
09:10 5mTalk | What happens in my code reviews? An investigation on automatically classifying review changes Journal-First Papers Enrico Fregnan University of Zurich, Switzerland, Fernando Petrulio University of Zurich, Linda Di Geronimo University of Zurich, Switzerland, Alberto Bacchelli University of Zurich Link to publication Pre-print Media Attached | ||
09:15 5mTalk | Bus Factor In Practice SEIP - Software Engineering in Practice Elgun Jabrayilzade Bilkent University, Mikhail Evtikhiev JetBrains Research, Eray Tüzün Bilkent University, Vladimir Kovalenko JetBrains Research Pre-print Media Attached | ||
09:20 5mTalk | A Fine-grained Data Set and Analysis of Tangling in Bug Fixing Commits Journal-First Papers Steffen Herbold TU Clausthal, Alexander Trautsch University of Göttingen, Benjamin Ledel TU Clausthal, Alireza Aghamohammadi Sharif University of Technology, Taher A Ghaleb University of Ottawa, Kuljit Kaur Chahal Guru Nanak Dev University, Tim Bossenmaier Karlsruhe Institute of Technology (KIT), Bhaveet Nagaria Brunel University London, Philip Makedonski University of Goettingen, Matin Nili Ahmadabadi University of Tehran, Kristof Szabados Ericsson Hungary ltd., Helge Spieker Simula Research Laboratory, Norway, Matej Madeja Technical University of Košice, Nathaniel G. Hoy Brunel University London, Valentina Lenarduzzi University of Oulu, Shangwen Wang National University of Defense Technology, Gema Rodríguez-Pérez University of British Columbia (UBC), Ricardo Colomo-Palacios Østfold University College, Roberto Verdecchia Vrije Universiteit Amsterdam, Paramvir Singh The University of Auckland, Yihao Qin , Debasish Chakroborti University of Saskatchewan, Willard Davis IBM, Vijay Walunj University of Missouri-Kansas City, Hongjun Wu National University of Defense Technology, Diego Marcilio USI Università della Svizzera italiana, Omar Alam Trent University, Abdullah Aldaeej Imam Abdulrahman Bin Faisal University, Idan Amit The Hebrew University, Burak Turhan University of Oulu, Simon Eismann University of Würzburg, Anna-Katharina Wickert TU Darmstadt, Germany, Ivano Malavolta Vrije Universiteit Amsterdam, Matúš Sulír Technical University of Košice, Fatemeh Hendijani Fard University of British Columbia, Austin Henley University of Tennessee, Efstratios Kourtzanidis University Of Macedonia, Eray Tüzün Bilkent University, Christoph Treude University of Melbourne, Simin Maleki Shamasbi Indendent Researcher, Ivan Pashchenko University of Trento, Marvin Wyrich University of Stuttgart, James C. Davis Purdue University, USA, Alexander Serebrenik Eindhoven University of Technology, Ella Albrecht University of Goettingen, Ethem Utku Aktas Softtech Inc., Daniel Strüber Chalmers | University of Gothenburg / Radboud University, Johannes Erbel University of Goettingen Pre-print Media Attached | ||
09:25 5mTalk | Towards Mining OSS Skills from GitHub Activity NIER - New Ideas and Emerging Results Jenny T. Liang University of Washington, Thomas Zimmermann Microsoft Research, Denae Ford Microsoft Research DOI Pre-print Media Attached | ||
09:30 5mTalk | Bug Tracking Process Smells In Practice SEIP - Software Engineering in Practice DOI Pre-print Media Attached | ||
09:35 5mTalk | Manas: Mining Software Repositories to Assist AutoML Technical Track Giang Nguyen Iowa State University, Md Johirul Islam Iowa State University, Rangeet Pan Iowa State University, USA, Hridesh Rajan Iowa State University DOI Pre-print Media Attached |