- Sponsor:
- sigsoft
PADTAD brings together researchers from academia and researchers and practitioners from industry to promote the development of techniques and tools that aid in testing, analysis, and debugging of multi-threaded/parallel/distributed software.
Proceeding Downloads
Run-time conformance checking of mobile and distributed systems using executable models
This paper describes an approach for conformance testing of mobile and distributed systems. The approach is based on kiltera --- a novel, high-level language supporting the description and execution of models of concurrent, mobile, distributed, and ...
Some resources for teaching concurrency
- Ganesh Gopalakrishnan,
- Yu Yang,
- Sarvani Vakkalanka,
- Anh Vo,
- Sriram Aananthakrishnan,
- Grzegorz Szubzda,
- Geof Sawaya,
- Jason Williams,
- Subodh Sharma,
- Michael DeLisi,
- Simone Atzeni
With the increasing emphasis on exploiting concurrency efficiently and correctly, the lack of suitable pedagogical material for teaching concurrency is a growing problem. In this paper, we summarize a recently concluded class as well as some independent ...
Understanding the behavior of transactional memory applications
Transactional memory is a new trend in concurrency control that was boosted by the advent of multi-core processors and the near to come many-core processors. It promises the performance of finer grain with the simplicity of coarse grain threading. ...
Unit testing for multi-threaded Java programs
Unit testing focuses on testing the smallest units that comprise a software system and allows developers to detect bugs early in the development process. However, unit testing is unsuitable for detecting concurrency bugs in multi-threaded programs. Most ...
MulticoreSDK: a practical and efficient data race detector for real-world applications
Multicore processors with each core supporting multiple threads are becoming commonplace. To take advantage of these hardware advances, application software has to evolve and embrace parallel processing, otherwise the performance growth that we have ...
Pattern-driven deadlock avoidance
Pattern-driven deadlock avoidance is to identify and exploit a deadlock pattern to avoid deadlocks of this pattern in future. In this paper, we discuss deadlock-pattern characterization, discovery, and exploitation, with an emphasis on exploring Just-in-...
Forcing small models of conditions on program interleaving for detection of concurrent bugs
Is it possible to efficiently reveal concurrency bugs by forcing a well selected set of conditions on program interleaving? To study this general question, we defined two simple models of conditions on program interleaving targeted at the insufficient-...
SideTrack: generalizing dynamic atomicity analysis
Atomicity is a key correctness specification for multithreaded programs. Prior dynamic atomicity analyses include precise tools, which report an error if and only if the observed trace is not serializable; and imprecise tools, which generalize from the ...
Clash of the Titans: tools and techniques for hunting bugs in concurrent programs
In this work we focus on creating a benchmark suite of concurrent programs for various programming languages to evaluate the bug detection capabilities of various tools and techniques. We have compiled a set of Java benchmarks from various sources and ...
An annotation assistant for interactive debugging of programs with common synchronization idioms
This paper explores an approach to improving the practical usability of static verification tools for debugging synchronization idioms. Synchronization idioms such as mutual exclusion and readers/writer locks are widely-used to ensure atomicity of ...
A proposal of operation history management system for source-to-source optimization of HPC programs
To optimize various high performance computing (HPC) programs on complex supercomputer architectures source-to-source optimization tools are becoming important to support network-architecture-specific and application-specific performance optimization in ...
- Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging