Applied Sciences, Vol. 15, Pages 4270: Predicting a Program’s Execution Time After Move Method Refactoring Based on Deep Learning and Feature Interaction


Applied Sciences, Vol. 15, Pages 4270: Predicting a Program’s Execution Time After Move Method Refactoring Based on Deep Learning and Feature Interaction

Applied Sciences doi: 10.3390/app15084270

Authors:
Yamei Yu
Yifan Lu
Siyi Liang
Xuguang Zhang
Liyan Zhang
Yu Bai
Yang Zhang

Move method refactoring (MMR) is one of the most commonly used software maintenance techniques to improve feature envy. Existing works focus on how to identify and recommend MMR. However, little is known about how MMR impacts program performance. There is a gap in knowledge regarding MMR and its performance impact. To address this gap, this paper proposes MovePerf, a novel approach to predicting performance for MMR based on deep learning and feature interaction. On the one hand, MovePerfselects 32 features based on observations from real-world projects. Furthermore, MovePerf obtains the execution time for each project after MMR as the performance label by employing a performance profiling tool, JMH. On the other hand, MovePerf builds a hybrid model to learn features from low-order and high-order interactions by composing a deep feedforward neural network and a factor machine. With this model, it predicts the performance for these projects after MMR. We evaluate MovePerf on real-world projects including JUnit, LC-problems, Kevin, and Concurrency. The experimental results show that MovePerf obtains an average MRE of 7.69%, illustrating that the predicted value is close to the real value. Furthermore, MovePerf improves the MRE from 1.83% to 8.61% compared to existing approaches, including a CNN, DeepFM, DeepPerf, and HINNPerf, demonstrating its effectiveness.



Source link

Yamei Yu www.mdpi.com