ICSME 2023
Sun 1 - Fri 6 October 2023 Bogotá, Colombia
Thu 5 Oct 2023 14:03 - 14:14 at Session 2 Room - RGD 04 - Refactoring Chair(s): Massimiliano Di Penta, Oscar Chaparro

Modern software development heavily relies on reusing third-party libraries; this makes developers more productive, but may also lead to misuses or other kinds of design issues. In this paper, we focus on the exceptional behavior of library methods, and propose to detect client code that may trigger such exceptional behavior. As we demonstrate on several examples of open-source projects, exceptional behavior in clients often naturally suggests improvements to the documentation, tests, runtime checks, and annotations of the clients.

In order to automatically detect client calls that may trigger exceptional behavior in library methods, we show how to repurpose existing techniques to extract a method’s exception precondition—the condition under which the method throws an exception. To demonstrate the feasibility of our approach, we applied it to 1,523 open-source Java projects, where it found 4,115 cases of calls to library methods that may result in an exception. We manually analyzed 100 of these cases, confirming that the approach is capable of uncovering several interesting opportunities for code improvements.

Thu 5 Oct

Displayed time zone: Bogota, Lima, Quito, Rio Branco change

13:30 - 15:00
13:30
11m
Talk
Towards a Catalog of Refactorings for Elixir
New Ideas and Emerging Results Track
Lucas Francisco da Matta Vegi Federal University of Minas Gerais (UFMG), Marco Tulio Valente Federal University of Minas Gerais, Brazil
Pre-print
13:41
11m
Talk
An Automated Code Update Tool For Python Packages
Tool Demo Track
Nacho Navarro J.P. Morgan AI Research, Petr Babkin , Salwa Alamir J.P. Morgan AI Research, Sameena Shah J.P. Morgan AI Research
13:52
11m
Talk
Test Code Refactoring Unveiled: Where and How Does It Affect Test Code Quality and Effectiveness?
Registered Reports Track
Fabio Palomba University of Salerno, Ivan Machado Federal University of Bahia
14:03
11m
Talk
Towards Code Improvements Suggestions from Client Exception Analysis
New Ideas and Emerging Results Track
Diego Marcilio USI Università della Svizzera italiana, Carlo A. Furia Università della Svizzera italiana (USI)
Pre-print
14:14
11m
Talk
Deterministic Automatic Refactoring at Scale
Tool Demo Track
14:25
11m
Talk
Automatic Refactoring Candidate Identification Leveraging Effective Code Representation
New Ideas and Emerging Results Track
Indranil Palit Dalhousie University, Gautam Shetty Dalhousie University, Hera Arif Dalhousie University, Tushar Sharma Dalhousie University
Pre-print
14:36
11m
Talk
RefSearch: A Search Engine for Refactoring
Tool Demo Track
Motoki Abe Tokyo Institute of Technology, Shinpei Hayashi Tokyo Institute of Technology
DOI Pre-print
14:47
13m
Live Q&A
1:1 Q&A
Research Track