Garcia Celestrin, Abel
(2017)
Static Analysis of Concurrent Programs Based on Behavioral Type Systems, [Dissertation thesis], Alma Mater Studiorum Università di Bologna.
Dottorato di ricerca in
Computer science and engineering, 29 Ciclo. DOI 10.6092/unibo/amsdottorato/8046.
Documenti full-text disponibili:
Abstract
The strength of program static analysis techniques lies on its ability to detect faulty behaviors
prior to the execution.
This ability requires that the analysis process foresees any possible runtime scenario. A task which is even more complex in the case of concurrent programs, because of the number of alternatives introduced by the usual nondeterminism.
In this particular case, some of the most common faulty behaviors are those about erroneous usage of resources, presence of deadlocks and data race conflicts.
Behavioral type systems for programming languages provide a strong mechanism for reasoning on programs actions at static time. In this thesis we discuss two static analysis techniques based on this approach.
The first one, targets the resource usage in an ad-hoc
language with full-fledged operations for acquiring and releasing virtual machines. The second one,
targets the deadlock analysis of Java programs.
In both cases we provide a formal proof of correctness, along with prototype implementations that allow practically to test the feasibility of these solutions. These prototypes have also allowed assessing these techniques against others existing in the literature obtaining very encouraging results.
Abstract
The strength of program static analysis techniques lies on its ability to detect faulty behaviors
prior to the execution.
This ability requires that the analysis process foresees any possible runtime scenario. A task which is even more complex in the case of concurrent programs, because of the number of alternatives introduced by the usual nondeterminism.
In this particular case, some of the most common faulty behaviors are those about erroneous usage of resources, presence of deadlocks and data race conflicts.
Behavioral type systems for programming languages provide a strong mechanism for reasoning on programs actions at static time. In this thesis we discuss two static analysis techniques based on this approach.
The first one, targets the resource usage in an ad-hoc
language with full-fledged operations for acquiring and releasing virtual machines. The second one,
targets the deadlock analysis of Java programs.
In both cases we provide a formal proof of correctness, along with prototype implementations that allow practically to test the feasibility of these solutions. These prototypes have also allowed assessing these techniques against others existing in the literature obtaining very encouraging results.
Tipologia del documento
Tesi di dottorato
Autore
Garcia Celestrin, Abel
Supervisore
Dottorato di ricerca
Ciclo
29
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
Static analysis
Behavioural type systems
Resource analysis
Deadlock analysis
Concurrent programs
URN:NBN
DOI
10.6092/unibo/amsdottorato/8046
Data di discussione
15 Maggio 2017
URI
Altri metadati
Tipologia del documento
Tesi di dottorato
Autore
Garcia Celestrin, Abel
Supervisore
Dottorato di ricerca
Ciclo
29
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
Static analysis
Behavioural type systems
Resource analysis
Deadlock analysis
Concurrent programs
URN:NBN
DOI
10.6092/unibo/amsdottorato/8046
Data di discussione
15 Maggio 2017
URI
Statistica sui download
Gestione del documento: