I have started my PhD studies in January 2002. Since then, my research focused on the ares of program analysis, programming languages and software engineering. More specifically, I have worked on the following topics:
Showed how to use disjunctive fixed-point analysis to support either proofs of program safety or bug finding. Proposed a dual static analysis based only on over-approximation and validated its capabilities with a set of experiments [10]. Formalized and proved the analysis correctness [9].
Software: Uses the Omega Library. (Linux x86 executable, Sample input files, web demo)
Designed a new disjunctive numerical abstract domain adapting hulling and widening operators from the polyhedron domain to its disjunctive domain extension. The resulting fixed-point analysis was used to compute precise method postconditions [3] and preconditions [2]. These techniques are further elaborated in my thesis [9].
Software: Available from the CVS repository in loris-7 server: /home/popeeaco/cvs-repository/array-code. (web demo, fixpoint calculator)
Contributed to the design of an analysis to infer bounds for the memory needed to execute low-level programs [1]. The prototype system is based on the disjunctive fixed-point analysis introduced in [3].
Software: Available from the CVS repository in loris-7 server: /home/popeeaco/cvs-repository/stack-code/ : /home/popeeaco/cvs-repository/memory-examples/.
Contributed to the design of a flow-based technique for capturing generic types in Java [4]. A prototype system was applied to a suite of Java applications and more casts could be proven safe compared to using wildcard-generic Java 1.5.
Designed a dependent type system for checking the correct usage of resources in the context of a first-order functional language [6]. The dependent type system was extended with alias checking and applied to object-based programs with customized safety policies [5]. An algorithm was proposed to infer alias annotations for our object-based language [11]. An intern student has developed a type checker for a simple functional language.
Software (developed by Ana Oprescu): Available from the CVS repository in loris-7 server: /home/popeeaco/cvs-repository/resources-code/.
This project proposes a new core language for C that is expression-oriented. The main focus of this core language is to support easier program analysis.
Software (under development) : Available from the SVN repository in loris-7 server: /home/popeeaco/svn-repositories/cil2imp-code/ (preliminary report, online documentation, code via Trac).
An intern student has used the Haskell language to develop interfaces to the Octagon library and the PPL (Parma Polyhedra Library).
Software (developed by Ramona Bobohalma): Available from the CVS repository in loris-7 server: /home/popeeaco/cvs-repository/octagon-code/ : /home/popeeaco/cvs-repository/ppl-code/.
An intern student has used the Haskell language to develop an interface to the Omega Library interface.
Software (developed by Razvan Musaloiu): Available from the CVS repository in loris-7 server: /home/popeeaco/cvs-repository/omega_stub/.