Concurrent software executes multiple threads or processes to achieve high performance. However, concurrency results in a huge number of different system behaviors that are difficult to test and verify. The aim of this dissertation is to develop new methods and tools for modeling and analyzing concurrent software systems at design and code levels. This dissertation consists of several related results. First, a formal model of Mondex, an electronic purse system, is built using Petri nets from user requirements, which is formally verified using model checking. Second, Petri nets models are automatically mined from the event traces generated from scientific workflows. Third, partial order models are automatically extracted from some instrument...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Concurrent software executes multiple threads or processes to achieve high performance. However, con...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
This thesis enters in the frame of the automatic verification of concurrent software based on an int...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Human beings have gradually become dependent on computers, and more specifically, the software that ...
We address the verification problem for concurrent program that dynamically create (fork) new thread...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In the past decade, computer hardware has undergone a true revolution, moving from uniprocessor arch...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Concurrent software executes multiple threads or processes to achieve high performance. However, con...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
This thesis enters in the frame of the automatic verification of concurrent software based on an int...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Human beings have gradually become dependent on computers, and more specifically, the software that ...
We address the verification problem for concurrent program that dynamically create (fork) new thread...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In the past decade, computer hardware has undergone a true revolution, moving from uniprocessor arch...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...