DyCITO+: Advanced Class Ordering for the Integration Testing of Java Programs

Testing object-oriented software poses the problem of defining the order in which classes are tested to reduce test costs. Initial works on the Class Integration Test Order (CITO) generation problem produced inaccurate sequences, since they mainly focused on static dependencies between classes and neglected dynamic ones. Recent works, while considering both static and dynamic dependencies, do not provide proper estimations of the cost of the different stubs and thus do not produce accurate orders. This paper focuses on Java programs and proposes DyCITO+, an extension to DyCITO, that embeds a new solution for measuring the complexity implied by dynamic coupling-aware stubs and models the generation of CITOs as a Reinforcement Learning (RL) problem. It combines the proposed stubbing complexity metric with the Deep Q Network (DQN), Proximal Policy Optimization (PPO) and Advantage Actor-Critic (A2C), respectively, to evaluate and compare them while generating CITOs with minimal overall stubbing complexity. Comprehensive experimental analysis on eight Java programs indicates that DyCITO+ can identify dynamic dependencies more accurately than other proposals by considering interface implementation, abstract class inheritance, invocation of redefined methods, and multilevel inheritance. In addition, the use of A2C generates CITOs with lower stubbing costs compared to DQN or PPO.

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-10-16
DOI
https://doi.org/10.5281/zenodo.13940166
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

DyCITO+: Advanced Class Ordering for the Integration Testing of Java Programs

Zenodo (CERN European Organization for Nuclear Research)
Software Testing and Debugging Techniques
article

DyCITO+: Advanced Class Ordering for the Integration Testing of Java Programs

article en

Abstract

Testing object-oriented software poses the problem of defining the order in which classes are tested to reduce test costs. Initial works on the Class Integration Test Order (CITO) generation problem produced inaccurate sequences, since they mainly focused on static dependencies between classes and neglected dynamic ones. Recent works, while considering both static and dynamic dependencies, do not provide proper estimations of the cost of the different stubs and thus do not produce accurate orders. This paper focuses on Java programs and proposes DyCITO+, an extension to DyCITO, that embeds a new solution for measuring the complexity implied by dynamic coupling-aware stubs and models the generation of CITOs as a Reinforcement Learning (RL) problem. It combines the proposed stubbing complexity metric with the Deep Q Network (DQN), Proximal Policy Optimization (PPO) and Advantage Actor-Critic (A2C), respectively, to evaluate and compare them while generating CITOs with minimal overall stubbing complexity. Comprehensive experimental analysis on eight Java programs indicates that DyCITO+ can identify dynamic dependencies more accurately than other proposals by considering interface implementation, abstract class inheritance, invocation of redefined methods, and multilevel inheritance. In addition, the use of A2C generates CITOs with lower stubbing costs compared to DQN or PPO.

Zenodo (CERN European Organization for Nuclear Research)
Openalex Percentile: Top 56%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

DyCITO+: Advanced Class Ordering for the Integration Testing of Java Programs · Zenodo (CERN European Organization for Nuclear Research) (2024) | TGRS Research Map | TGRS