Font Size: a A A

Modeling multithreaded applications using Petri-net

Posted on:2002-07-10Degree:M.S.EType:Thesis
University:The University of Alabama in HuntsvilleCandidate:Moshtaghi, AlirezaFull Text:PDF
GTID:2468390011990480Subject:Computer Science
Abstract/Summary:
Personal computers of the new generation have more than one processor in their systems. Multithreading is a technique that allows one program to do multiple tasks concurrently on a multiprocessor computer. Such techniques enable software programmers to exploit available parallelism in applications to achieve higher performance.; Different approaches can be used to test Multithreaded Applications. Our technique combines the mathematical analysis capabilities of Petri-Net with the Software Engineering test techniques to produce an elegant testing tool for Multithreaded Applications. As a product of our research, we feel that Petri-Net is a powerful tool that can be used to model concurrent programs, in general, for the purpose of testing.; Dynamic programming constructs, such as recursion and indirect memory access (pointers), cannot be modeled by a simple, statically-generated Petri-Net. An algorithm is proposed that enables the dynamic generation of a Petri-Net model, for the programs with recursion and pointers, to address this problem. The dynamically-generated Petri-Net is analyzed in the intermediate steps to capture any faults in the program. A program called C2Petri has been developed which converts C-Pthreads; programs to the equivalent Petri-Net model. This tool helps verification of Pthread-based programs.
Keywords/Search Tags:Petri-net, Multithreaded applications, Model, Programs
Related items