ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 16:00 - 16:15 at Amália Rodrigues - Analysis 4 Chair(s): Giovanni Denaro

Web Application Programming Interfaces (APIs) allow services to be accessed over the network. RESTful (or REST) APIs, which use the REpresentation State Transfer (REST) protocol, are a popular type of web API. To use or test REST APIs, developers use specifications written in standards such as OpenAPI. However, creating and maintaining these specifications is time-consuming and error-prone, especially as software evolves, leading to incomplete or inconsistent specifications that negatively affect the use and testing of the APIs. To address this problem, we present Respector (REST API specification generator), the first technique to employ static and symbolic program analysis to generate specifications for REST APIs from their source code. We evaluated Respector on 15 real-world APIs with promising results in terms of precision and recall in inferring endpoint methods, endpoint parameters, method responses, and parameter attributes, including constraints leading to successful HTTP responses or errors. Furthermore, these results could be further improved with additional engineering. Comparing the Respector-generated specifications with the developer-provided ones shows that Respector was able to identify many missing endpoint methods, parameters, constraints, and responses, along with some inconsistencies between developer-provided specifications and API implementations. Finally, Respector outperformed several techniques that infer specifications from annotations within API implementations or by invoking the APIs.

Fri 19 Apr

Displayed time zone: Lisbon change

16:00 - 17:30
16:00
15m
Talk
Generating REST API Specifications through Static Analysis
Research Track
Ruikai Huang Georgia Institute of Technology, Manish Motwani Oregon State University, USA, Idel Martinez Georgia Institute of Technology, Alessandro Orso Georgia Institute of Technology
16:15
15m
Talk
Precise Sparse Abstract Execution via Cross-Domain Interaction
Research Track
16:30
15m
Talk
Teachers' Beliefs and Practices on the Naming of Variables in Introductory Python Programming Courses
Software Engineering Education and Training
Vivian van der Werf Leiden University, Alaaeddin Swidan Open University of the Netherlands, Felienne Hermans Vrije Universiteit Amsterdam, Marcus Specht Delft University of Technology, Efthimia Aivaloglou Delft University of Technology
16:45
7m
Talk
Automated Detection of Software Performance Antipatterns in Java-Based Applications
Journal-first Papers
Catia Trubiani Gran Sasso Science Institute, Riccardo Pinciroli Gran Sasso Science Institute, Andrea Biaggi University of Milano Bicocca, Francesca Arcelli Fontana University of Milano-Bicocca
16:52
7m
Talk
What really changes when developers intend to improve their source code: A commit-level study of static metric value and static analysis warning changes
Journal-first Papers
Alexander Trautsch University of Passau, Johannes Erbel University of Göttingen, Steffen Herbold University of Passau, Jens Grabowski University of Göttingen
16:59
7m
Talk
Emulation Tool For Android Edge Devices
Demonstrations
Lyla Naghipour Vijouyeh University of Oslo, Rodrigo Bruno INESC-ID, Instituto Superior Técnico, Universidade de Lisboa, Paulo Ferreira University of Oslo