Lightweight Syntactic API Usage Analysis with UCovICPCICPC Full paper
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 AprDisplayed 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 10mTalk | 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 10mTalk | 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 10mTalk | 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 10mTalk | 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 10mTalk | 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 8mTalk | TerraMetrics: An Open Source Tool for Infrastructure-as-Code (IaC) Quality Metrics in TerraformICPCICPC Tools Tool Demonstration | ||
16:58 8mTalk | 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 8mTalk | 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 16mTalk | Code Analysis and Mining Studies: Panel with SpeakersICPC Discussion |