by Reshabh K Sharma, Peli de Halleux, Shraddha Barke and Ben Zorn on Mar 20, 2025 | Tags: artificial intelligence, prompt engineering, software engineering, testing
AI software demands new approaches to testing that go far beyond existing software testing methodologies. And with the rapid evolution of AI model capabilities, the need for the software engineering community to innovate new approaches to AI software testing is urgent.
Read more...
by Alastair Donaldson and David MacIver on May 25, 2021 | Tags: compilers, debugging, fuzzing, optimization, program understanding, slicing, test case reduction, testing
Did you think test case reduction was all about debugging? Find out how test case reducers can be used for program optimisation, to generate high coverage tests, for program understanding, and even for fuzzing!
Read more...
by Alastair Donaldson and David MacIver on Mar 30, 2021 | Tags: debugging, delta debugging, fuzzing, property-based testing, randomized testing, test case reduction, testing
Test case reducers are useful tools that can help you to simplify complex inputs that trigger bugs. In this post — the first in a series — we’ll give an overview of how test case reducers work.
Read more...
by Gushu Li, Li Zhou, Nengkun Yu, Yufei Ding, Mingsheng Ying, and Yuan Xie on Dec 21, 2020 | Tags: quantum computing, research highlights, testing
How can we effectively test a complex quantum program state when the test operation is potentially destructive?
Read more...
by Ilya Sergey on Aug 7, 2019 | Tags: abstract interpretation, concurrency, dynamic analysis, soundness, static analysis, testing
The purpose of a program analysis is to infer whether a certain property of a program execution can be observed at runtime. The notion of an analysis’ soundness defines how much confidence one should put in its results. The notion is not uniform and is determined by whether the analysis is intended to be used as a testing or as a verification tool.
Read more...