Write a Blog >>
ESEC/FSE 2021
Thu 19 - Sat 28 August 2021 Clowdr Platform

Application Programming Interfaces (APIs) typically come with usage constraints. The violations of these constraints (i.e. API misuses) can cause significant problems in software development. Existing methods mine frequent API usage patterns from codebase to detect API misuses. They make a naive assumption that API usage that deviates from the most-frequent API usage is a misuse. However, there is a big knowledge gap between API usage patterns and API usage constraints in terms of comprehensiveness, explainability and best practices. Inspired by this, we propose a novel approach named KGAMD (API-Misuse Detector Driven by Fine-Grained API-Constraint Knowledge Graph) that detects API misuses directly against the API constraint knowledge, rather than API usage pat-terns. We first construct a novel API-constraint knowledge graph from API reference documentation with open information extraction methods. This knowledge graph explicitly models two types of API-constraint relations (call-order and condition-checking) and enriches return and throw relations with return conditions and exception triggers. Then, we develop the KGAMD tool that utilizes the knowledge graph to detect API misuses. There are three types of frequent API misuses we can detect - missing calls, missing condition checking and missing exception handling, while existing detectors mostly focus on only missing calls. Our quantitative evaluation and user study demonstrate that our KGAMD is promising in helping developers avoid and debug API misuses

Demo Video: https://www.youtube.com/watch?v=TN4LtHJ-494
IntelliJ plug-in: https://github.com/goodchar/KGAMD

Thu 26 Aug

Displayed time zone: Athens change

16:00 - 17:00
Analytics & Software Evolution—Software Evolution 2Demonstrations / Research Papers / Industry Papers / Journal First / Ideas, Visions and Reflections +12h
Chair(s): Carlos Gavidia-Calderon ThoughtWorks (UK) Ltd., Anthony Cleve University of Namur
16:00
10m
Paper
Duplicated Code Pattern Mining in Visual Programming Languages
Industry Papers
Miguel Terra-Neves OutSystems, João Pedro Nunes Nadkarni OutSystems, Miguel Ventura OutSystems, Pedro Resende OutSystems, Hugo Veiga OutSystems, António Alegria OutSystems
DOI
16:10
10m
Paper
Release Synchronization in Software Ecosystems
Journal First
Armstrong Foundjem Queen's University, Bram Adams Queens University
16:20
5m
Paper
Towards Immersive Software Archaeology: Regaining Legacy Systems’ Design Knowledge via Interactive Exploration in Virtual Reality
Ideas, Visions and Reflections
Adrian Hoff IT University of Copenhagen, Michael Nieke IT University of Copenhagen, Christoph Seidl IT University of Copenhagen
DOI
16:25
5m
Paper
KGAMD: An API-Misuse Detector Driven by Fine-Grained API-Constraint Knowledge Graph
Demonstrations
Xiaoxue Ren Zhejiang University, Xinyuan Ye Australian National University, Zhenchang Xing Australian National University, Xin Xia Huawei Technologies, Xiwei (Sherry) Xu CSIRO’s Data61, Liming Zhu CSIRO’s Data61; UNSW, JianLing Sun Zhejiang University
DOI
16:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Software Evolution 2)
Research Papers

Fri 27 Aug

Displayed time zone: Athens change

04:00 - 05:00
Analytics & Software Evolution—Software Evolution 2Research Papers / Industry Papers / Journal First / Demonstrations / Ideas, Visions and Reflections
Chair(s): Martin P. Robillard McGill University, John Grundy Monash University
04:00
10m
Paper
Duplicated Code Pattern Mining in Visual Programming Languages
Industry Papers
Miguel Terra-Neves OutSystems, João Pedro Nunes Nadkarni OutSystems, Miguel Ventura OutSystems, Pedro Resende OutSystems, Hugo Veiga OutSystems, António Alegria OutSystems
DOI
04:10
10m
Paper
Release Synchronization in Software Ecosystems
Journal First
Armstrong Foundjem Queen's University, Bram Adams Queens University
04:20
5m
Paper
Towards Immersive Software Archaeology: Regaining Legacy Systems’ Design Knowledge via Interactive Exploration in Virtual Reality
Ideas, Visions and Reflections
Adrian Hoff IT University of Copenhagen, Michael Nieke IT University of Copenhagen, Christoph Seidl IT University of Copenhagen
DOI
04:25
5m
Paper
KGAMD: An API-Misuse Detector Driven by Fine-Grained API-Constraint Knowledge Graph
Demonstrations
Xiaoxue Ren Zhejiang University, Xinyuan Ye Australian National University, Zhenchang Xing Australian National University, Xin Xia Huawei Technologies, Xiwei (Sherry) Xu CSIRO’s Data61, Liming Zhu CSIRO’s Data61; UNSW, JianLing Sun Zhejiang University
DOI
04:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Software Evolution 2)
Research Papers