Mihaela Sighireanu

dblp:27/1531 · DBLP profile ↗
← Back
40ranked-venue papers
3as first author
7since 2021 · last 2026
0000-0002-1925-089XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 29 · 3 first-author · 5 since 2021Theory of computation · 11 · 3 since 2021Systems, architecture and hardware · 4Artificial intelligence and machine learning · 2 · 1 since 2021Computer networks · 2Security and privacy · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 The Entailment Problem for Separation Logic with Overlaid Structures
abstract
Separation Logic (SL) enables reasoning about programs that manipulate pointers. Its key feature is the separating conjunction ⋆, which asserts that two formulas hold on disjoint portions of memory. We consider an extension of SL, called Overlaid SL (OSL), that allows non-disjoint combinations of data structures defined over different fields, enriched with set constraints on the nodes of these structures. We prove that entailment is decidable for a broad class of data structures satisfying the so-called PCE conditions of [Iosif et al., 2013], thus extending this result to OSL. Our decision procedure is nondeterministic with doubly exponential time complexity.
Lucas Bueri, Nicolas Peltier, Quentin Petitjean 0001, Mihaela Sighireanu
MFCS4
2026 Inferring contracts by abstract interpretation with application to pointer nullness analysis
abstract
Abstract This paper proposes a semantic static analysis for inferring nullable or non-null pointer annotations in low level programs. The analysis is formulated on a minimalistic imperative language and it is expressed as a least fixpoint computation over pointer annotations calling a sound type-checking algorithm. Therefore, this analysis may be used for more general annotations than pointer nullability. We prove two main properties for this approach: (1) when using a sound and precise type-checker (i.e., without false alarms), it will find an annotation that guarantees the absence of run-time errors due to pointer deference, if such an annotation exists, (2) when the type-checker is only sound, the errors singled out by the analysis are real errors. We report on the implementation of this method in Codex , a static analyzer for C and binary code. Codex already provides an abstract interpretation based type-checker for a rich dependent type systems. The evaluation of our implementation on a benchmark of challenging programs shows that the inference is better than manual annotations obtained by code inspection.
Paul Robert, Matthieu Lemerre, Mihaela Sighireanu
Int. J. Softw. Tools Technol. Transf.3
2025 Preface of the special issue on the static analysis symposium 2020 and 2022
David Pichardie, Mihaela Sighireanu, Gagandeep Singh 0001, Caterina Urban
Formal Methods Syst. Des.2
2024 What Is Decidable in Separation Logic Beyond Progress, Connectivity and Establishment?
abstract
Abstract The predicate definitions in Separation Logic (SL) play an important role: they capture a large spectrum of unbounded heap shapes due to their inductiveness. This expressiveness power comes with a limitation: the entailment problem is undecidable if predicates have general inductive definitions (ID). Iosif et al. [8] proposed syntactic and semantic conditions, called PCE, on the ID of predicates to ensure the decidability of the entailment problem. We provide a (possibly nonterminating) algorithm to transform arbitrary ID into equivalent PCE definitions when possible. We show that the existence of an equivalent PCE definition for a given ID is undecidable, but we identify necessary conditions that are decidable. The algorithm has been implemented, and experimental results are reported on a benchmark, including significant examples from .
Tanguy Bozec, Nicolas Peltier, Quentin Petitjean 0001, Mihaela Sighireanu
IJCAR (2)4
2024 A Dependent Nominal Physical Type System for Static Analysis of Memory in Low Level Code
abstract
We tackle the problem of checking non-proof-carrying code , i.e. automatically proving type-safety (implying in our type system spatial memory safety) of low-level C code or of machine code resulting from its compilation without modification. This requires a precise static analysis that we obtain by having a type system which (i) is expressive enough to encode common low-level idioms, like pointer arithmetic, discriminating variants by bit-stealing on aligned pointers, storing the size and the base address of a buffer in distinct parts of the memory, or records with flexible array members, among others; and (ii) can be embedded in an abstract interpreter. We propose a new type system that meets these criteria. The distinguishing feature of this type system is a nominal organization of contiguous memory regions, which (i) allows nesting, concatenation, union, and sharing parameters between regions; (ii) induces a lattice over sets of addresses from the type definitions; and (iii) permits updates to memory cells that change their type without requiring one to control aliasing. We provide a semantic model for our type system, which enables us to derive sound type checking rules by abstract interpretation, then to integrate these rules as an abstract domain in a standard flow-sensitive static analysis. Our experiments on various challenging benchmarks show that semantic type-checking using this expressive type system generally succeeds in proving type safety and spatial memory safety of C and machine code programs without modification, using only user-provided function prototypes.
Julien Simonnet, Matthieu Lemerre, Mihaela Sighireanu
Proc. ACM Program. Lang.3
2022 The CoLiS platform for the analysis of maintainer scripts in Debian software packages
Benedikt F. H. Becker, Nicolas Jeannerod, Claude Marché, Yann Régis-Gianas, Mihaela Sighireanu, Ralf Treinen
Int. J. Softw. Tools Technol. Transf.5
2021 SL-COMP: competition of solvers for separation logic
Mihaela Sighireanu
Int. J. Softw. Tools Technol. Transf.1
2020 Analysing installation scenarios of Debian packages
abstract
Abstract The Debian distribution includes more than 28 thousand maintainer scripts, almost all of them are written in Posix shell. These scripts are executed with root privileges at installation, update, and removal of a package, which make them critical for system maintenance. While Debian policy provides guidance for package maintainers producing the scripts, few tools exist to check the compliance of a script to it. We report on the application of a formal verification approach based on symbolic execution to find violations of some non-trivial properties required by Debian policy in maintainer scripts. We present our methodology and give an overview of our toolchain. We obtained promising results: our toolchain is effective in analysing a large set of Debian maintainer scripts and it pointed out over 150 policy violations that lead to reports (more than half already fixed) on the Debian Bug Tracking system.
Benedikt F. H. Becker, Nicolas Jeannerod, Claude Marché, Yann Régis-Gianas, Mihaela Sighireanu, Ralf Treinen
TACAS (2)5
2019 TOOLympics 2019: An Overview of Competitions in Formal Methods
abstract
Evaluation of scientific contributions can be done in many different ways. For the various research communities working on the verification of systems (software, hardware, or the underlying involved mechanisms), it is important to bring together the community and to compare the state of the art, in order to identify progress of and new challenges in the research area. Competitions are a suitable way to do that. The first verification competition was created in 1992 (SAT competition), shortly followed by the CASC competition in 1996. Since the year 2000, the number of dedicated verification competitions is steadily increasing. Many of these events now happen regularly, gathering researchers that would like to understand how well their research prototypes work in practice. Scientific results have to be reproducible, and powerful computers are becoming cheaper and cheaper, thus, these competitions are becoming an important means for advancing research in verification technology. TOOLympics 2019 is an event to celebrate the achievements of the various competitions, and to understand their commonalities and differences. This volume is dedicated to the presentation of the 16 competitions that joined TOOLympics as part of the celebration of the $$25^{ th }$$ anniversary of the TACAS conference.
Ezio Bartocci, Dirk Beyer 0001, Paul E. Black, Grigory Fedyukovich, Hubert Garavel, Arnd Hartmanns, Marieke Huisman, Fabrice Kordon, Julian Nagele, Mihaela Sighireanu, Bernhard Steffen, Martin Suda 0001, Geoff Sutcliffe, Tjark Weber, Akihisa Yamada 0002
TACAS (3)10
2019 SL-COMP: Competition of Solvers for Separation Logic
abstract
SL-COMP aims at bringing together researchers interested on improving the state of the art of the automated deduction methods for Separation Logic (SL). The event took place twice until now and collected more than 1K problems for different fragments of SL. The input format of problems is based on the SMT-LIB format and therefore fully typed; only one new command is added to SMT-LIB’s list, the command for the declaration of the heap’s type. The SMT-LIB theory of SL comes with ten logics, some of them being combinations of SL with linear arithmetics. The competition’s divisions are defined by the logic fragment, the kind of decision problem (satisfiability or entailment) and the presence of quantifiers. Until now, SL-COMP has been run on the StarExec platform, where the benchmark set and the binaries of participant solvers are freely available. The benchmark set is also available with the competition’s documentation on a public repository in GitHub.
Mihaela Sighireanu, Juan Antonio Navarro Pérez, Andrey Rybalchenko, Nikos Gorogiannis, Radu Iosif, Andrew Reynolds 0001, Cristina Serban, Jens Pagel, Christoph Matheja, Thomas Noll 0001, Florian Zuleger, Wei-Ngan Chin, Quang Loc Le, Quang-Trung Ta, Ton Chanh Le, Thanh-Toan Nguyen, Siau-Cheng Khoo, Michal Cyprian, Adam Rogalewicz, Tomás Vojnar, Constantin Enea, Ondrej Lengál, Zhilin Wu
TACAS (3)1
2019 Exploiting Pointer Analysis in Memory Models for Deductive Verification
Quentin Bouillaguet, François Bobot, Mihaela Sighireanu, Boris Yakobowski
VMCAI3
2018 A Verified Implementation of the Bounded List Container
Raphaël Cauderlier, Mihaela Sighireanu
TACAS (1)2
2018 Formal modelling of list based dynamic memory allocators
Bin Fang 0004, Mihaela Sighireanu, Geguang Pu, Jean-Raymond Abrial, Mengfei Yang, Lei Qiao 0002
Sci. China Inf. Sci.2
2017 A refinement hierarchy for free list memory allocators
abstract
Existing implementations of dynamic memory allocators (DMA) employ a large spectrum of policies and techniques. The formal specifications of these techniques are quite complicated in isolation and very complex when combined. Therefore, the formal reasoning on a specific DMA implementation is difficult for automatic tools and mostly single-use. This paper proposes a solution to this problem by providing formal models for a full class of DMA, the free list class. To obtain manageable formal reasoning and reusable formal models, we organize these models in a hierarchy ranked by refinement relations. We prove the soundness of models and refinement relations using an off-the-shelf theorem prover. We demonstrate that our hierarchy is a basis for an algorithm theory for the class of free list DMA: it abstracts various existing implementations of DMA and leads to new DMA implementations. We illustrate its application to model-based code generation, testing, run-time verification, and static analysis.
Bin Fang 0004, Mihaela Sighireanu
ISMM2
2017 Compositional entailment checking for a fragment of separation logic
Constantin Enea, Ondrej Lengál, Mihaela Sighireanu, Tomás Vojnar
Formal Methods Syst. Des.3
2016 Hierarchical Shape Abstraction for Analysis of Free List Memory Allocators
Bin Fang 0004, Mihaela Sighireanu
LOPSTR2
2015 On Automated Lemma Generation for Separation Logic with Inductive Definitions
Constantin Enea, Mihaela Sighireanu, Zhilin Wu
ATVA2
2014 Compositional Entailment Checking for a Fragment of Separation Logic
Constantin Enea, Ondrej Lengál, Mihaela Sighireanu, Tomás Vojnar
APLAS3
2013 Compositional Invariant Checking for Overlaid and Nested Linked Lists
Constantin Enea, Vlad Saveluc, Mihaela Sighireanu
ESOP3
2013 Local Shape Analysis for Overlaid Data Structures
Cezara Dragoi, Constantin Enea, Mihaela Sighireanu
SAS3
2012 Accurate Invariant Checking for Programs Manipulating Lists and Arrays with Infinite Data
Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Mihaela Sighireanu
ATVA4
2012 Abstract Domains for Automated Reasoning about List-Manipulating Programs with Infinite Data
Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Mihaela Sighireanu
VMCAI4
2011 Guidelines for the Verification of Population Protocols
abstract
We address the problem of verification by model checking of the basic population protocol (PP) model of Angluin et al. This problem has received special attention in the last two years and new tools have been proposed to deal with it. We show that the problem can be solved by using the existing model-checking tools, e.g., Spin and Prism. In order to do so, we apply the counter abstraction to get an abstraction of the PP model which can be efficiently verified by the existing model-checking tools. Moreover, this abstraction preserves the correct stabilization property of PP models. To deal with the fairness assumed by the PP models, we provide two new recipes. The first one gives sufficient conditions under which the PP model fairness can be replaced by the weak fairness implemented in Spin. We show that this recipe can be applied to several PP models. In the second recipe, we show how to use probabilistic model-checking and, in particular, Prism to take completely in consideration the fairness of the PP models. The correctness of this recipe is based on existing theorems involving finite discrete Markov chains.
Julien Clément 0001, Carole Delporte-Gallet, Hugues Fauconnier, Mihaela Sighireanu
ICDCS4
2011 On inter-procedural analysis of programs with lists and data
abstract
We address the problem of automatic synthesis of assertions on sequential programs with singly-linked lists containing data over infinite domains such as integers or reals. Our approach is based on an accurate abstract inter-procedural analysis. Program configurations are represented by graphs where nodes represent list segments without sharing. The data in these list segments are characterized by constraints in abstract domains. We consider a domain where constraints are in a universally quantified fragment of the first-order logic over sequences, as well as a domain constraining the multisets of data in sequences.
Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Mihaela Sighireanu
PLDI4
2010 Invariant Synthesis for Programs Manipulating Lists with Unbounded Data
Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Ahmed Rezine, Mihaela Sighireanu
CAV5
2009 A Logic-Based Framework for Reasoning about Composite Data Structures
Ahmed Bouajjani, Cezara Dragoi, Constantin Enea, Mihaela Sighireanu
CONCUR4
2009 Simple Algorithm for Simple Timed Games
abstract
We propose a subclass of timed game automata(TGA), called Task TGA, representing networks of communicating tasks where the system can choose when to start the task and the environment can choose the duration of the task. We search to solve finite-horizon reachability games on Task TGA by building strategies in the form of Simple Temporal Networks with Uncertainty (STNU). Such strategies have the advantage of being very succinct due to the partial order reduction of independent tasks.We show that the existence of such strategies is an NP-complete problem. A practical consequence of this result is a fully forward algorithm for building STNU strategies.Potential applications of this work are planning and scheduling under temporal uncertainty.
Yasmina Abdeddaïm, Eugene Asarin, Mihaela Sighireanu
TIME3
2007 Spade: Verification of Multithreaded Dynamic and Recursive Programs
Gaël Patin, Mihaela Sighireanu, Tayssir Touili
CAV2
2007 Rewriting Systems with Data
Ahmed Bouajjani, Peter Habermehl, Yan Jurski, Mihaela Sighireanu
FCT4
2007 A Generic Framework for Reasoning About Dynamic Networks of Infinite-State Processes
Ahmed Bouajjani, Yan Jurski, Mihaela Sighireanu
TACAS3
2003 An Algorithm for Automatically Obtaining Distributed and Fault-Tolerant Static Schedules
abstract
Embedded systems account for a major part of crit- ical applications (space, aeronautics, nuclear. . . ) as well Our goal is to automatically obtain a distributed and as public domain applications (automotive, consumer fault-tolerant embedded system: distributed because the electronics. . . ). Their main features are: system must run on a distributed architecture; fault-tolerant because the system is critical. Our starting point is a source algorithm, a target distributed architecture, some distribu- tion constraints, some indications on the execution times of the algorithm operations on the processors of the target ar- chitecture, some indications on the communication times of the data-dependencies on the communication links of the target architecture, a number Npf of fail-silent processor failures that the obtained system must tolerate, and finally some real-time constraints that the obtained system must satisfy. In this article, we present a scheduling heuristic which, given all these inputs, produces a fault-tolerant, dis- tributed, and static scheduling of the algorithm on the ar- chitecture, with an indication whether or not the real-time constraints are satisfied. The algorithm we propose consist of a list scheduling heuristic based active replication strat- egy, that allows at least Npf +1 replicas of an operation to be scheduled on different processors, which are run in parallel to tolerate at most Npf failures. Due to the strat- egy used to schedule operations, simulation results show that the proposed heuristic improve the performance of our method, both in the absence and in the presence of failures.
Alain Girault, Hamoudi Kalla, Mihaela Sighireanu, Yves Sorel
DSN3
2003 Efficient on-the-fly model-checking for regular alternation-free mu-calculus
Radu Mateescu 0001, Mihaela Sighireanu
Sci. Comput. Program.2
2001 TReX: A Tool for Reachability Analysis of Complex Systems
Aurore Collomb-Annichini, Ahmed Bouajjani, Mihaela Sighireanu
CAV3
2001 Fault-Tolerant Static Scheduling for Real-Time Distributed Embedded Systems
abstract
We present a heuristic for producing automatically a distributed fault-tolerant schedule of a given data-flow algorithm onto a given distributed architecture. The faults considered are processor failures, with a fail-silent behavior. Fault-tolerance is achieved with the software redundancy of computations and the time redundancy of data-dependencies.
Alain Girault, Christophe Lavarenne, Yves Sorel, Mihaela Sighireanu
ICDCS4
2001 Generation of Fault-Tolerant Static Scheduling for Real-Time Distributed Embedded Systems with Multi-Point Links
abstract
We describe a solution to automatically produce distributed and fault-tolerant code for real-time distributed embedded systems. The failures supported are processor failures, with fail-stop behavior. Our solution is grafted on the "Algorithm Architecture Adequation" method (AAA), used to obtain automatically distributed code. The heart of AAA is a scheduling heuristic that produces automatically a static distributed schedule of a given algorithm onto a given distributed architecture. We design a new heuristic in order to obtain a static, distributed and fault-tolerant schedule. The new heuristic schedules supplementary replicas for each computation operation of the algorithm to be distributed and the corresponding communications, where is the number of processor failures intended to be supported. In the same time, the heuristic statically computes the main replica after each failure, such that the execution time is minimized. The analysis of this heuristic shows that it gives better results for distributed architectures using multi-point, reliable links. This solution corresponds to a software implemented fault-tolerance, by mean of software redundancy of algorithm's operations and timing redundancy of communications.
Alain Girault, Christophe Lavarenne, Mihaela Sighireanu, Yves Sorel
IPDPS3
2001 Analyzing Fair Parametric Extended Automata
Ahmed Bouajjani, Aurore Collomb-Annichini, Yassine Lakhnech, Mihaela Sighireanu
SAS4
1999 A Graphical Parallel Composition Operator for Process Algebras
Hubert Garavel, Mihaela Sighireanu
FORTE2
1998 Verification of the Link Layer Protocol of the IEEE-1394 Serial Bus (FireWire): An Experiment with E-LOTOS
Mihaela Sighireanu, Radu Mateescu 0001
Int. J. Softw. Tools Technol. Transf.1
1996 CADP - A Protocol Validation and Verification Toolbox
Jean-Claude Fernandez, Hubert Garavel, Alain Kerbrat, Laurent Mounier, Radu Mateescu 0001, Mihaela Sighireanu
CAV6
1996 On the Introduction of Exceptions in E-LOTOS
Hubert Garavel, Mihaela Sighireanu
FORTE2