ICPC 2024
Sun 14 - Sat 20 April 2024 Lisbon, Portugal
co-located with ICSE 2024

Designing an effective API is essential for library developers as it is the lens through which clients will judge its usability and benefits, as well as the main friction point when the library evolves. Despite its importance, defining the boundaries of an API is a challenging task, mainly due to the diverse mechanisms provided by programming languages that have non-trivial interplays. In this paper, we present a novel conceptual framework designed to assist library maintainers in understanding the interactions allowed by their APIs via the use of syntactic usage models. These customizable models enable library maintainers to improve their design ahead of release, reducing friction during evolution. The complementary syntactic usage footprints and coverage scores, inferred from client code using the API (e.g., documentation samples, tests, third-party clients), enable developers to understand in-the-wild uses of their APIs and to reflect on the adequacy of their tests and documentation. We present an implementation of these models for Java libraries in the tool UCov and demonstrate its capabilities on three Java libraries exhibiting diverse styles of interaction: Jsoup, Apache commons-cli, and Spark. Our case study shows that UCov provides valuable information regarding API design and fine-grained analysis of client code to identify under-tested and under-documented library code.

Tue 16 Apr

Displayed time zone: Lisbon change

16:00 - 17:30
Code Analysis and Mining StudiesTool Demonstration / Research Track / at Sophia de Mello Breyner Andresen
Chair(s): DongGyun Han Royal Holloway, University of London
16:00
10m
Talk
ASKDetector: An AST-Semantic and Key Features Fusion based Code Comment Mismatch DetectorICPCICPC Full paperVirtual-Talk
Research Track
Haiyang Yang School of Computer Science and Engineering, Central South University, hao chen , Zhirui Kuai School of Computer Science and Engineering, Central South University, Shuyuan Tu School of Computer Science and Engineering, Central South University, Li Kuang School of Computer Science and Engineering, Central South University
16:10
10m
Talk
TaiE: Function Identification for Monolithic FirmwareICPCICPC Full paper
Research Track
Jintao Huang Institute of Information Engineering, Chinese Academy of Science & University of Chinese Academy of Sciences, Beijing, China, Kai Yang School of Computer, Electronics and Information, Guangxi University, Gaosheng Wang Institute of Information Engineering, Chinese Academy of Sciences & University of Chinese Academy of Sciences, Beijing, China, Zhiqiang Shi Institute of Information Engineering, Chinese Academy of Sciences, School of Cyber Security, University of Chinese Academy of Sciences,, Shichao Lv Institute of Information Engineering, Chinese Academy of Science, Limin Sun Institute of Information Engineering, Chinese Academy of Sciences, School of Cyber Security, University of Chinese Academy of Sciences,
16:20
10m
Talk
Rationale Dataset and Analysis for the Commit Messages of the Linux Kernel Out-of-Memory KillerICPCICPC Full paper
Research Track
Mouna Dhaouadi University of Montreal, Bentley Oakes Polytechnique Montréal, Michalis Famelis Université de Montréal
16:30
10m
Talk
Lightweight Syntactic API Usage Analysis with UCovICPCICPC Full paper
Research Track
Gustave Monce Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, Thomas Couturou Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, Yasmine Hamdaoui Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, Thomas Degueule CNRS, Jean-Rémy Falleri Bordeaux INP
Pre-print
16:40
10m
Talk
CAREER: Context-Aware API Recognition with Data Augmentation for API Knowledge ExtractionICPCICPC Full paperVirtual-Talk
Research Track
Zhang Zhang , Xinjun Mao National University of Defense Technology, Shangwen Wang National University of Defense Technology, Kang Yang National University of Defense Technology, Yao Lu National University of Defense Technology
16:50
8m
Talk
TerraMetrics: An Open Source Tool for Infrastructure-as-Code (IaC) Quality Metrics in TerraformICPCICPC Tools
Tool Demonstration
Mahi Begoug , Moataz Chouchen ETS, Ali Ouni ETS Montreal, University of Quebec
16:58
8m
Talk
OpenGalaxy: An interactive exploration platform for a visualized GitHub Full Domain collaboration networkICPCICPC Tools
Tool Demonstration
Xinran Zhang , Shengyu Zhao Tongji University, Yenan Tang East China Normal University, Xiaoya Xia East China Normal University, will wang
17:06
8m
Talk
Hypercrx: A browser extension for insights into GitHub projects and developersICPCICPC Tools
Tool Demonstration
Yenan Tang East China Normal University, Shengyu Zhao Tongji University, Xiaoya Xia East China Normal University, Fenglin Bi East China Normal University, will wang
17:14
16m
Talk
Code Analysis and Mining Studies: Panel with SpeakersICPC
Discussion