ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 11:00 - 11:15 at Glicínia Quartin - Evolution 4 Chair(s): Wesley Assunção

Test migration, which enables the reuse of test cases crafted with knowledge and creativity by testers across various platforms and programming languages, has exhibited effectiveness in mobile app testing. However, unit test migration at the source code level has not garnered adequate attention and exploration. In this paper, we propose a novel cross-language and cross-platform test migration methodology, named MUT, which consists of four modules: code mapping, test case filtering, test case translation, and test case adaptation. MUT initially calculates code mappings to establish associations between source and target projects, and identifies suitable unit tests for migration from the source project. Then, MUT’s code translation component generates a syntax tree by parsing the code to be migrated and progressively converts each node in the tree, ultimately generating the target tests, which are compiled and executed in the target project. Moreover, we develop a web tool to assist developers in test migration. The effectiveness of our approach has been validated on five prevalent functional domain projects within the open-source community. We migrate a total of 550 unit tests and submitted pull requests to augment test code in the target projects on GitHub. By the time of this paper submission, 253 of these tests have already been merged into the projects (including 197 unit tests in the Luliyucoordinate-LeetCode project and 56 unit tests in the Rangerlee-HtmlParser project). Through running these tests, we identify 5 bugs, and 2 functional defects, and submitted corresponding issues to the project. The evaluation substantiates that MUT’s test migration is both viable and beneficial across programming languages and different projects.

Fri 19 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
11:00
15m
Talk
MUT: Human-in-the-Loop Unit Test Migration
Research Track
Yi Gao Zhejiang University, Xing Hu Zhejiang University, Tongtong Xu Huawei, Xin Xia Huawei Technologies, David Lo Singapore Management University, Xiaohu Yang Zhejiang University
11:15
15m
Talk
Streamlining Java Programming: Uncovering Well-Formed Idioms with IdioMine
Research Track
Yanming Yang Zhejiang University, Xing Hu Zhejiang University, Xin Xia Huawei Technologies, David Lo Singapore Management University, Xiaohu Yang Zhejiang University
11:30
15m
Talk
Fine-grained, accurate and scalable source differencing
Research Track
Jean-Rémy Falleri Bordeaux INP, Matias Martinez Universitat Politècnica de Catalunya (UPC)
11:45
15m
Talk
A Catalog of Unintended Software Dependencies in Multi-Lingual Systems at ASML
Software Engineering in Practice
Tom Groot Eindhoven University of Technology & ASML, Lina Ochoa Eindhoven University of Technology, Bogdan Lazar ASML, Jacob Krüger Eindhoven University of Technology
12:00
7m
Talk
Runtime Evolution of Bitcoin’s Consensus Rules
Journal-first Papers
Jakob Svennevik Notland Norwegian University of Science and Technology, Mariusz Nowostawski Norwegian University of Science and Technology, Jingyue Li Norwegian University of Science and Technology (NTNU)
12:07
7m
Talk
CfgNet: A Framework for Tracking Equality-Based Configuration Dependencies Across a Software Project
Journal-first Papers
Sebastian Simon Leipzig University, Nicolai Ruckel Secunet Security Networks AG, Norbert Siegmund Leipzig University
12:14
7m
Talk
Hyperparameter Optimization for AST Differencing
Journal-first Papers
Matias Martinez Universitat Politècnica de Catalunya (UPC), Jean-Rémy Falleri Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, F-33400 Talence, France, Martin Monperrus KTH Royal Institute of Technology, Matias Martinez Universitat Politècnica de Catalunya (UPC), Matias Martinez Universitat Politècnica de Catalunya (UPC)