Modeling Multithreaded Applications Using Petri Nets

  • Authors:
  • Krishna M. Kavi;Alireza Moshtaghi;Deng-Jyi Chen

  • Affiliations:
  • Department of Computer Science, The University of North Texas, Avenue B at Mulberry, GAB 320, Denton, Texas 76203.kavi@cs.unt.edu;Morph Technologies, California;National Chio-Tung University, Taiwan

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Since most modern computing systems contain multiple processing elements, applications are relying on multithreaded programming techniques that allow a program to execute multiple tasks concurrently to take advantage of the processing capabilities. Multithreaded programs are more difficult to design and test because of the nondeterministic execution orders and synchronization among the threads. Different approaches can be used to test Multithreaded Applications. In our approach we use Petri nets to represent the key elements of interactions among threads to identify potential problems such as race conditions, lost signals, and deadlocks. A tool called C2Petri has been developed which converts C-Pthreads programs to the equivalent Petri net model. This tool helps verification of Pthread-based programs. At present the tool has limited capabilities and we hope to expand the capabilities of our tool in the near future.