Towards Diverse Program Transformations for Program Simplification
By reducing the number of lines of code, program simplification reduces code complexity, improving software maintainability and code comprehension. While several existing techniques can be used for automatic program simplification, there is no consensus on the effectiveness of these approaches. We present the first study on how real-world developers simplify programs in open-source software projects. By analyzing 382 pull requests from 296 projects, we summarize the types of program transformations used, the motivations behind simplifications, and the set of program transformations that have not been covered by existing refactoring types. As a result of our study, we submitted eight bug reports to a widely used refactoring detection tool, RefactoringMiner where seven were fixed. Our study also identifies gaps in applying existing approaches for automating program simplification and outlines the criteria for designing automatic program simplification techniques. In light of these observations, we propose SimpT5, a tool to automatically produce simplified programs that are semantically equivalent programs with reduced lines of code. SimpT5 is trained on our collected dataset of 92,485 simplified programs with two heuristics: (1) modified line localization that encodes lines changed in simplified programs, and (2) checkers that measure the quality of generated programs. Experimental results show that SimpT5 outperforms prior approaches in automating developer-induced program simplification.
Wed 25 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:20 | Program Analysis 3Research Papers / Demonstrations / Industry Papers at Cosmos 3D Chair(s): Earl T. Barr University College London | ||
11:00 10mTalk | MITHRAS: A Dynamic Analysis Framework for the Mobile-IoT Ecosystem Demonstrations Francesco Pagano University of Verona, Mariano Ceccato University of Verona, Alessio Merlo CASD - School of Advanced Defense Studies, Paolo Tonella USI Lugano | ||
11:10 10mTalk | Refactoring Detection in C++ Programs with RefactoringMiner++ Demonstrations Benjamin Ritz Graz University of Technology, Aleksandar Karakaš Carinthia University of Applied Sciences, Denis Helic Graz University of Technology | ||
11:20 20mTalk | Codellm-Devkit: A Framework for Contextualizing Code LLMs with Program Analysis Insights Industry Papers Rahul Krishna IBM Research, Rangeet Pan IBM Research, Saurabh Sinha IBM Research, Srikanth Tamilselvam IBM Research, Raju Pavuluri IBM T.J. Watson Research Center, Maja Vukovic IBM Research | ||
11:40 20mTalk | Towards Diverse Program Transformations for Program Simplification Research Papers Haibo Wang Concordia University, Zezhong Xing Southern University of Science and Technology, Chengnian Sun University of Waterloo, Zheng Wang University of Leeds, Shin Hwei Tan Concordia University DOI | ||
12:00 20mTalk | CRISPE: Semantic-Guided Execution Planning and Dynamic Reasoning for Enhancing Code Coverage Prediction Research Papers Hridya Dhulipala University of Texas at Dallas, Aashish Yadavally University of Texas at Dallas, Smit Soneshbhai Patel University of Texas at Dallas, Tien N. Nguyen University of Texas at Dallas DOI |
Cosmos 3D is the fourth room in the Cosmos 3 wing.
When facing the main Cosmos Hall, access to the Cosmos 3 wing is on the left, close to the stairs. The area is accessed through a large door with the number “3”, which will stay open during the event.