PresentationPresentation Jury AbstractDownloadThesis Report (on HAL) Slides PhotosPrototypesPrototypesAnalysis examplespi-calculus ambient calculus environment analysis occurrence counting analysis thread partitioning |
Analysis of mobile systems by abstract interpretation
Jérôme Feret
Defended the 25th of February 2005
École Polytechnique
This thesis has been done at Laboratoire d'Informatique of the École Normale Supérieure (Paris)
A mobile system is a pool of agents that may interact with each other. These interactions dynamically change the system by controlling both creation and destruction of links between agents. These interactions also control the creation of new agents. The size of a mobile system evolves during its computation. This size may be unbounded. A mobile system may describe telecommunication networks, reconfigurable systems, client-server applications, cryptographic protocols, or biological systems. Several models are available according to the application field and the granularity of the observation level.
In this thesis, we propose an unifying framework to discover and prove automatically and statically some properties of mobile systems. We propose a meta-language to encode the most current models for mobility (the
We then use the Abstract Interpretation framework to derive abstract semantics, which are sound, decidable, but approximate.
In this thesis, we give three generic semantics that we set according to the expected trade-off between accuracy and efficiency.
The first analysis focuses on dynamic properties: it captures relations about the creation histories of the agents of the system. This analysis is precise enough to distinguish recursive instances of each agent, even when there is an unbounded number of instances. Thus, we can prove in the case of a client-server application that the server always returns data to the right client.
The second analysis focuses on concurrency properties: it counts the number of occurrences of agents inside the system. This analysis detects mutual exclusion and it bounds the number of agents.
The third analysis mixes concurrency and dynamic properties. It gathers the agents of the system in several computation units. Then, it abstracts the number of occurrences of agents in each computation unit. For instance, we can prove the absence of race in the specification of a shared-memory with dynamic allocation that is written in the
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Prototypes are available on gitlab
Context-free analysis is only implemented in the pi-calculus analyzer.Analysis examples (These results have been computed on a