dc.description.abstract |
Metamorphic testing (MT) represents a robust and innovative methodology that adeptly tackles
the challenge of the oracle problem. It supplements traditional testing methods by generating a
range of distinct and diverse test cases. However, the generation of effective source test cases,
along with their prioritization, continues to be an area of active research interest. In response
to this demand, We suggest an innovative and all-encompassing method for generating and
prioritizing source test cases. It leverages Python's path tracer and constraint solver to obtain
program path constraints, empowering the creation of source test cases with extensive coverage
of execution paths, thereby substantially enhancing fault detection effectiveness. Moreover, the
proposed approach introduces a sophisticated prioritization technique by assigning higher
priority to test cases with higher fault detection capability. Through experimental evaluations
on four representative programs, the proposed approach demonstrates exceptional performance
and outperforms existing techniques. The incorporation of metamorphic relations enables
systematic validation of the behavior of mathematical functions, identifying potential
deviations or faults that may arise. Additionally, the integration of mutation testing provides a
comprehensive assessment of the approach's effectiveness in fault detection and validation of
mathematical functions. This research presents a promising and practical solution to the
challenges associated with generating and prioritizing source test cases in metamorphic testing,
contributing to the improvement of software testing effectiveness and efficiency. By combining
various techniques, we aim to improve fault detection capabilities and provide a practical
solution for testing software systems, addressing the specific challenges in the realm of
scientific software testing. |
en_US |