Software testing: a research travelogue (2000–2014)
Despite decades of work by researchers and practitioners on numerous software quality
assurance techniques, testing remains one of the most widely practiced and studied …
assurance techniques, testing remains one of the most widely practiced and studied …
A survey of recent trends in testing concurrent software systems
Many modern software systems are composed of multiple execution flows that run
simultaneously, spanning from applications designed to exploit the power of modern multi …
simultaneously, spanning from applications designed to exploit the power of modern multi …
D4: fast concurrency debugging with parallel differential analysis
We present D4, a fast concurrency analysis framework that detects concurrency bugs (eg,
data races and deadlocks) interactively in the programming phase. As developers add …
data races and deadlocks) interactively in the programming phase. As developers add …
Conc-iSE: Incremental symbolic execution of concurrent software
Software updates often introduce new bugs to existing code bases. Prior regression testing
tools focus mainly on test case selection and prioritization whereas symbolic execution tools …
tools focus mainly on test case selection and prioritization whereas symbolic execution tools …
Mining performance regression inducing code changes in evolving software
During software evolution, the source code of a system frequently changes due to bug fixes
or new feature requests. Some of these changes may accidentally degrade performance of a …
or new feature requests. Some of these changes may accidentally degrade performance of a …
What change history tells us about thread synchronization
Multi-threaded programs are pervasive, yet difficult to write. Missing proper synchronization
leads to correctness bugs and over synchronization leads to performance problems. To …
leads to correctness bugs and over synchronization leads to performance problems. To …
Jacontebe: A benchmark suite of real-world java concurrency bugs (T)
Researchers have proposed various approaches to detect concurrency bugs and improve
multi-threaded programs, but performing evaluations of the effectiveness of these …
multi-threaded programs, but performing evaluations of the effectiveness of these …
A deployable sampling strategy for data race detection
Dynamic data race detection incurs heavy runtime overheads. Recently, many sampling
techniques have been proposed to detect data races. However, some sampling techniques …
techniques have been proposed to detect data races. However, some sampling techniques …
Efficient regression testing of distributed real-time reactive systems in the context of model-driven development
Regression testing is indispensable, especially for real-time distributed systems to ensure
that existing functionalities are not affected by changes. Despite recent advances …
that existing functionalities are not affected by changes. Despite recent advances …
Recontest: Effective regression testing of concurrent programs
Concurrent programs proliferate as multi-core technologies advance. The regression testing
of concurrent programs often requires running a failing test for weeks before catching a …
of concurrent programs often requires running a failing test for weeks before catching a …