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
Times are displayed in time zone: (UTC) Coordinated Universal Time change

08:05 - 09:05: I18-APIs and CommitsPaper Presentations / New Ideas and Emerging Results / Journal First / Technical Papers at Silla
Chair(s): Massimiliano Di PentaUniversity of Sannio
08:05 - 08:13
Talk
Journal First
Jingxuan ZhangNanjing University of Aeronautics and Astronautics, He JiangSchool of Software, Dalian University of Technology, Zhilei RenDalian University of Technology, Tao ZhangHarbin Engineering University, Zhiqiu HuangNanjing University of Aeronautics and Astronautics
08:13 - 08:19
Talk
New Ideas and Emerging Results
Sebastian NielebockOtto-von-Guericke University Magdeburg, Germany, Robert HeumüllerChair of Software Engineering, Faculty of Computer Science, Otto-von-Guericke-University Magdeburg, Jacob KrügerOtto von Guericke University Magdeburg, Frank OrtmeierOtto-von-Guericke-University Magdeburg, Faculty of Computer Science, Chair of Software Engineering
DOI Pre-print
08:19 - 08:31
Talk
Technical Papers
Hao XiaFudan University, Yuan ZhangFudan University, Yingtian ZhouFudan University, Xiaoting ChenFudan University, Yang WangFudan University, Xiangyu ZhangPurdue University, Shuaishuai CuiFudan University, Geng HongFudan University, Xiaohan ZhangFudan University, Min YangFudan University, Zhemin YangFudan University
08:31 - 08:43
Talk
Technical Papers
Hao ZhongShanghai Jiao Tong University, Na MengVirginia Tech, Zexuan LiShanghai Jiao Tong University, Li JiaShanghai Jiao Tong University
08:43 - 08:49
Talk
New Ideas and Emerging Results
Ming WenHuazhong University of Science and Technology, China, Yepang LiuSouthern University of Science and Technology, Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology
08:49 - 09:01
Talk
Technical Papers
Emad AghajaniSoftware Institute, USI - Lugano, Switzerland, Csaba NagySoftware Institute - USI, Lugano, Switzerland, Mario Linares-VásquezUniversidad de los Andes, Laura MorenoColorado State University, Gabriele BavotaUniversità della Svizzera italiana, Michele LanzaUniversita della Svizzera italiana (USI), David C. ShepherdVirginia Commonwealth University
Pre-print Media Attached