Bug Detection and Execution Replay for Concurrent Software Systems
Bugs in concurrent software systems are very difficult to detect and replay. This is due to the complexity of the software itself and the non-determinism of concurrency. To detect data races, the major source of concurrent bugs, we present a new approach to sample memory accesses across two threads and executions as a data race involves two threads and a program under testing is repeatedly executed. To detect deadlocks, we interestingly observe that every two events of a deadlock usually occur within a short range called bug radius. Based on bug radius we present an approach to select priority change points within the bug radius that guarantees larger probabilities to trigger deadlocks. Finally, we present a processor-based record-and-replay solution that does not require detecting and logging shared-memory dependencies to enable multi-processor execution replay. Shared-memory dependencies between threads are reconstructed offline, during replay, using an algorithm based on an SMT solver.
Prof. Zijiang YANG
Date & Time
13 Jun 2019 (Thursday) 11:00 - 12:00
E11-4045 (University of Macau)
Department of Computer and Information Science
Zijiang James Yang is the founder of GuardStrike Inc, a company that focuses on providing tools and services for the quality and security of emerging software systems. Yang is also a professor at Western Michigan University. His research is in the broad areas of software engineering and formal methods. He has published over eighty conference and journal papers. He is also an inventor of ten United States patents. Yang received his Ph.D. from the University of Pennsylvania, M.S. from Rice University, and B.S. from the University of Science and Technology of China, all in computer science. He was a recipient of the award and the 2008 CEAS outstanding new researcher award. He was a visi2018 ACM SIGSOFT Distinguished Paper Award, 2015 CEAS outstanding researcher award, 2010 PADTAD best paper award, 2008 ACM TODAES best paper ting professor at EECS, University of Michigan from 2009 to 2013. He is the general chair of the 12th IEEE Conference on Software Testing, Validation and Verification (ICST).