Class Integration Test Order (CITO) generation is essential to minimize testing cost in object-oriented software. Traditional methods based on static dependencies often produce suboptimal results, while recent approaches that incorporate dynamic dependencies typically neglect accurate stubbing cost estimation and face scalability challenges. We propose DyCITO+, an extension of DyCITO, which originally modeled CITO generation as a Reinforcement Learning (RL) problem using Q-learning. However, DyCITO relies on tabular methods, and this limits its scalability. DyCITO+ addresses this by introducing three Deep Reinforcement Learning (DRL) algorithms: Deep Q-Network (DQN), Proximal Policy Optimization (PPO), and Advantage Actor-Critic (A2C), to handle the complexity of large-scale systems more effectively. DyCITO+ builds on the dynamic dependency analysis mechanism from DyCITO, which captures more accurate runtime relationships, including interface implementation, abstract class inheritance, method overriding, and multilevel inheritance. We evaluated DyCITO+ on eight Java programs of varying sizes. The results show that DyCITO+ significantly improves the scalability and effectiveness of CITO generation. Among the three DRL methods, A2C consistently produces the lowest overall stubbing complexity, particularly in medium- and large-scale systems.
DyCITO+: Scalable Deep Reinforcement Learning for Generating Class Integration Test Orders of Java Programs
Baresi, Luciano
2026-01-01
Abstract
Class Integration Test Order (CITO) generation is essential to minimize testing cost in object-oriented software. Traditional methods based on static dependencies often produce suboptimal results, while recent approaches that incorporate dynamic dependencies typically neglect accurate stubbing cost estimation and face scalability challenges. We propose DyCITO+, an extension of DyCITO, which originally modeled CITO generation as a Reinforcement Learning (RL) problem using Q-learning. However, DyCITO relies on tabular methods, and this limits its scalability. DyCITO+ addresses this by introducing three Deep Reinforcement Learning (DRL) algorithms: Deep Q-Network (DQN), Proximal Policy Optimization (PPO), and Advantage Actor-Critic (A2C), to handle the complexity of large-scale systems more effectively. DyCITO+ builds on the dynamic dependency analysis mechanism from DyCITO, which captures more accurate runtime relationships, including interface implementation, abstract class inheritance, method overriding, and multilevel inheritance. We evaluated DyCITO+ on eight Java programs of varying sizes. The results show that DyCITO+ significantly improves the scalability and effectiveness of CITO generation. Among the three DRL methods, A2C consistently produces the lowest overall stubbing complexity, particularly in medium- and large-scale systems.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


