May-happen-in-parallel analysis based on segment graphs for safe ESL models

A well-defined system-level model contains explicit parallelism and should be free from parallel access conflicts to shared variables. However, safe parallelism is difficult to achieve since risky shared variables are often hidden deep in the design and are not exposed through simulation. In this paper, we propose a new static analysis approach based on segment graphs that identifies a tight set of potential access conflicts in segments that may-happen-in-parallel (MHP). Our experimental results show that the analysis is complete, accurate and fast to reveal dangerous shared variables in several embedded application models. Compared to earlier work, our approach significantly reduces the number of false conflict reports and thus saves the designer time.

[1]  Dawson R. Engler,et al.  RacerX: effective, static detection of race conditions and deadlocks , 2003, SOSP '03.

[2]  Richard N. Taylor,et al.  Complexity of analyzing the synchronization structure of concurrent programs , 1983, Acta Informatica.

[3]  Daniel Kroening,et al.  Race analysis for SystemC using model checking , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[4]  Rainer Leupers,et al.  parSC: Synchronous parallel SystemC simulation on multi-core host architectures , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[5]  Rainer Leupers,et al.  Scandal: Systemc analysis for nondeterminism anomalies , 2012, Proceeding of the 2012 Forum on Specification and Design Languages.

[6]  Magdy S. Abadir,et al.  Predictive runtime verification of multi-processor SoCs in SystemC , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[7]  Edith Schonberg,et al.  On-the-fly detection of access anomalies , 2018, PLDI '89.

[8]  George S. Avrunin,et al.  A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel , 1998, SIGSOFT '98/FSE-6.

[9]  Xu Han,et al.  Out-of-order parallel simulation for ESL design , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Yuan Lin,et al.  Static Nonconcurrency Analysis of OpenMP Programs , 2005, IWOMP.

[11]  Xu Han,et al.  Eliminating race conditions in system-level models by using parallel simulation infrastructure , 2012, 2012 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[12]  Xu Han,et al.  Multicore Simulation of Transaction-Level Models Using the SoC Environment , 2011, IEEE Design & Test of Computers.

[13]  Xu Han,et al.  Designer-in-the-loop recoding of ESL models using static parallel access conflict analysis , 2013, M-SCOPES.

[14]  Ken Kennedy,et al.  Compile-time detection of race conditions in a parallel program , 1989, ICS '89.

[15]  Xu Han,et al.  Multi-Core Simulation of Transaction Level Models using the System-on-Chip Environment , 2010 .