2019 · 35 citations · 18 references
Program CheckingEngineeringReachability ProblemVerificationSoftware EngineeringSoftware AnalysisFormal VerificationView SwitchesStatic CheckingFormal SpecificationRuntime VerificationComputer ScienceStatic Program AnalysisConcurrent ProgramsSoftware VerificationAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsRelease-acquire SemanticsSystem Software
We address the verification of concurrent programs running under the release-acquire (RA) semantics. We show that the reachability problem is undecidable even in the case where the input program is finite-state. Given this undecidability, we follow the spirit of the work on context-bounded analysis for detecting bugs in programs under the classical SC model, and propose an under-approximate reachability analysis for the case of RA. To this end, we propose a novel notion, called view-switching, and provide a code-to-code translation from an input program under RA to a program under SC. This leads to a reduction, in polynomial time, of the bounded view-switching reachability problem under RA to the bounded context-switching problem under SC. We have implemented a prototype tool VBMC and tested it on a set of benchmarks, demonstrating that many bugs in programs can be found using a small number of view switches.
18
Jeremy Manson, William Pugh, Sarita V. Adve · 2005 · 724 citations
Engineering, Computer Architecture, Software Engineering +20
Peter Sewell, Susmit Sarkar, Scott Owens et al. · Communications of the ACM · 2010 · 445 citations