2018 · 14 citations · 11 references
Program CheckingEngineeringVerificationComputer-aided VerificationSoftware EngineeringModel CheckingSoftware AnalysisFormal VerificationSystems EngineeringParallel ComputingRuntime VerificationMpi ProgramsComputer EngineeringComputer ScienceSoftware DesignSoftware VerificationAutomated ReasoningProgram AnalysisSoftware TestingMpi Symbolic VerifierFormal MethodsParallel ProgrammingSymbolic ExecutionSystem Software
Message Passing Interface (MPI) has become the standard programming paradigm in high performance computing. It is challenging to verify MPI programs because of high parallelism and non-determinism. This paper presents MPI symbolic verifier (MPI-SV), the first symbolic execution based tool for verifying MPI programs having both blocking and non-blocking operations. MPI-SV exploits symbolic execution to automatically generate path-level models, and performs model checking on the models w.r.t. expected properties. The results of model checking are leveraged to prune redundant paths. We have implemented MPI-SV and the extensive evaluation demonstrates MPI-SV's effectiveness and efficiency.
11
E. M. Clarke, Orna Grümberg, D. Long · 1996 · 6.9K citations
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 2.9K citations · Full text
Patrice Godefroid, Nils Klarlund, Koushik Sen · ACM SIGPLAN Notices · 2005 · 2.1K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · 2005 · 1.5K citations
Liviu Ciortea, Cristian Zamfir, Stefan Bucur et al. · ACM SIGOPS Operating Systems Review · 2010 · 184 citations