Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Thu 9 Jul 2020 08:31 - 08:43 at Silla - I18-APIs and Commits Chair(s): Massimiliano Di Penta

Developers build programs based on software libraries to reduce coding effort. If a program inappropriately invokes an API parameter, the program may exhibit unexpected runtime behaviors. To help developers correctly use library APIs, researchers built tools to mine API parameter rules. However, some fundamental questions are still unexplored. For instance, what are the parameter rules overlooked by existing work, and how can we automatically extract such rules? In this paper, we conducted a large-scale empirical study to investigate the above-mentioned questions. Specifically, to study as many parameter rules as possible, we took a hybrid approach that combines automatic localization of constrained parameters with manual inspection. Our automatic approach—PARU—locates parameters that have constraints either documented in Javadoc (i.e., document rules) or implied by source code (i.e., code rules). Our manual inspection (1) identifies and categorizes rules for the located parameters, (2) analyzes how well existing tools detect the rules, and (3) identifies the mapping between document and code rules. By applying PARU to 9 widely used libraries, we located 5,334 parameters with either document or code rules. Interestingly, there are only 108 parameters that have both types of rules, and 79 of these parameters have the rules unmatched. Additionally, PARU extracted 1,688 rule-containing sentences from Javadoc and code. We manually classified these sentences into six categories, and discovered that existing techniques can reveal at most three of the categories. Our research reveals the challenges for automating parameter rule extraction, and provides insights for future tool design.

Thu 9 Jul

Displayed 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
8m
Talk
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
6m
Talk
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
12m
Talk
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
12m
Talk
An Empirical Study on API Parameter RulesTechnical
Technical Papers
Hao Zhong Shanghai Jiao Tong University, Na Meng Virginia Tech, Zexuan Li Shanghai Jiao Tong University, Li Jia Shanghai Jiao Tong University
08:43
6m
Talk
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
12m
Talk
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