Preview

Modeling and Analysis of Information Systems

Advanced search

Automatic Data Race Error Detection in SystemC Models

Abstract

Hardware/software systems simulated by using the SystemC language are usually parallel and, therefore, may contain synchronization errors. One widespread type of synchronization errors is data races. In this paper we propose an approach to data race detection in SystemC programs which is based on the source code static analysis. We have developed some static analysis algorithms that can extract information for data race detection in a SystemC program without quantitative time. These algorithms can detect all the errors that exist in the program. The efficiency of our approach is shown by the evaluation results of the developed tool on a set of test SystemC programs.

About the Authors

A. V. Zakharov
Санкт-Петербургский государственный политехнический университет
Russian Federation


M. J. Moiseev
Санкт-Петербургский государственный политехнический университет
Russian Federation


References

1. -2005 IEEE Standard SystemC Language Reference Manual.

2. Savage S., Burrows M. et al. Eraser: a Dynamic Data Race Detector for Multithreaded Programs //J. ACM Transaction of Computer System. 1997. 15. P. 391-411.

3. Pierre L., Ferro L. Enhancing the Assertion-based Verification of TLM Designs with Reentrancy // 8th International Conference on Formal Methods and Models for Codesign. 2010. P. 103-112.

4. Blanc N., Kroening D. Race Analysis for SystemC using Model Checking // ICCAD. 2008. P. 356-363.

5. Traulsen C., Cornet J., Moy M., Maraninchi F. A SystemC/TLM Semantics in Promela and Its Possible Applications // 14th Workshop on Model Checking Software SPIN. 2007. P. 204-222.

6. Garavel H., Helmstetter C., Ponsini O., Serwe W. Verification of an Industrial SystemC/TLM Model Using LOTOS and CADP // 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design. 2009. P. 46-55.

7. Hojjat H., Mousavi M.R., Sirjani M. Process Algebraic Verification of SystemC Codes // 8th International Conference on Application of Concurrency to System Design. 2008. P. 62-67.

8. Zhang Yu, Vedrine F., Monsuez B. SystemC Waiting-State Automata // 1st International Workshop on Verification and Evaluation of Computer and Communication Systems. 2007.

9. Pratikakis P., Foster J.S., Hicks M. LOCKSMITH: Practical Static Race Detection for C // J. ACM Transactions on Programming Languages and Systems. 2011.

10. Kahlon V., Sankaranarayanan S., Gupta A. Semantic Reduction of Thread Interleavings in Concurrent Programs // 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. 2009.

11. Kahlon V., Sinha N., Kruus E., Zhang Y. Static Data Race Detection for Concurrent Programs with Asynchronous Calls // 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering. 2009.

12. Terauchi T. Checking Race Freedom via Linear Programming // ACM SIGPLAN conference on Programming language design and implementation. 2008.

13. Naik M., Aiken A. Conditional Must Not Aliasing for Static Race Detection // 34th annual ACM SIGPLAN-SIGACT symposium on POPL. 2007.

14. Itsykson V.M., Moiseev M.Ju., Zakharov A.V. et al. Automatic Defects Detection in Industrial C/C++ Software // 5th Central and Eastern European Software Engineering Conference in Russia. 2009.

15. Aegis Error Detection Tool. <http://www.digiteklabs.ru/aegis/>


Review

For citations:


Zakharov A.V., Moiseev M.J. Automatic Data Race Error Detection in SystemC Models. Modeling and Analysis of Information Systems. 2011;18(4):94-105. (In Russ.)

Views: 497


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)