Title : 
CSeq: A concurrency pre-processor for sequential C verification tools
         
        
            Author : 
Fischer, Bernd ; Inverso, Omar ; Parlato, Gennaro
         
        
            Author_Institution : 
Div. of Comput. Sci., Stellenbosch Univ., Stellenbosch, South Africa
         
        
        
        
        
        
            Abstract : 
Sequentialization translates concurrent programs into equivalent nondeterministic sequential programs so that the different concurrent schedules no longer need to be handled explicitly. It can thus be used as a concurrency preprocessing technique for automated sequential program verification tools. Our CSeq tool implements a novel sequentialization for C programs using pthreads, which extends the Lal/Reps sequentialization to support dynamic thread creation. CSeq now works with three different backend tools, CBMC, ESBMC, and LLBMC, and is competitive with state-of-the-art verification tools for concurrent programs.
         
        
            Keywords : 
C language; concurrency control; parallel programming; program interpreters; program verification; C program sequentialization; CBMC; CSeq tool; ESBMC; LLBMC; Lal-Reps sequentialization; automated sequential program verification tools; backend tools; concurrency preprocessing technique; concurrency preprocessor; concurrent program translation; dynamic thread creation; equivalent nondeterministic sequential programs; pthreads; sequential C verification tools; Benchmark testing; Concurrent computing; Context; Instruction sets; Programming;
         
        
        
        
            Conference_Titel : 
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
         
        
            Conference_Location : 
Silicon Valley, CA
         
        
        
            DOI : 
10.1109/ASE.2013.6693139