EDBT 2026 Demo / reviewers in the wild / expert
Nicolas Halbwachs
dblp:01/680
· DBLP profile ↗
39ranked-venue papers
15as first author
0since 2021 · last 2019
0000-0002-1426-7967ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 22 · 10 first-authorTheory of computation · 11 · 6 first-authorApplied, interdisciplinary, general and emerging computing · 7 · 2 first-authorSystems, architecture and hardware · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
10 papers |
Program analysis · 56% Program verification · 17% Software testing · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Embedded and real-time systems · 86% Electronic design automation · 14% |
Topics — the 21 heaviest of 23, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
abstract interpretation |
0.1 | 2 | 2008 | Discovering properties about arrays in simple programs · PLDI 2008 Automatic Discovery of Linear Restraints Among Variables of a Program · POPL 1978 |
Program analysis › error detection
array bounds checking |
0.1 | 1 | 2008 | Discovering properties about arrays in simple programs · PLDI 2008 |
Embedded and real-time systems
synchronous programming |
0.0 | 2 | 2003 | The synchronous languages 12 years later · Proc. IEEE 2003 Lustre: A Declarative Language for Programming Synchronous Systems · POPL 1987 |
Software testing › test generation
test sequence generation |
0.0 | 1 | 1998 | Automatic Testing of Reactive Systems · RTSS 1998 |
Program verification › concurrent program verification
parameterized verification |
0.0 | 1 | 1997 | Automatic Verification of Parameterized Linear Networks of Processes · POPL 1997 |
Program verification
safety verification |
0.0 | 1 | 1997 | Automatic Verification of Parameterized Linear Networks of Processes · POPL 1997 |
Programming languages and type systems › domain-specific languages › synchronous languages
synchronous dataflow languages |
0.0 | 2 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 Lustre: A Declarative Language for Programming Synchronous Systems · POPL 1987 |
Electronic design automation › hardware verification and test
timing verification |
0.0 | 1 | 1992 | An implementation of three algorithms for timing verification based on automata emptiness · RTSS 1992 |
Programming languages and type systems › domain-specific languages › synchronous languages
lustre |
0.0 | 1 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 |
Program verification
reactive system verification |
0.0 | 1 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 |
Program verification
temporal logic verification |
0.0 | 1 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 |
Programming languages and type systems › domain-specific languages
synchronous languages |
0.0 | 1 | 1998 | Synchronous Programming of Reactive Systems · CAV 1998 |
Programming languages and type systems
language design |
0.0 | 2 | 1992 | Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE · IEEE Trans. Software Eng. 1992 Outline of a Real Time Data Flow Language · RTSS 1985 |
Embedded and real-time systems
real-time programming languages |
0.0 | 1 | 1985 | Outline of a Real Time Data Flow Language · RTSS 1985 |
Concurrent programming › concurrency models
synchronous programming |
0.0 | 1 | 1993 | Delay Analysis in Synchronous Programs · CAV 1993 |
Programming languages and type systems › programming paradigms
dataflow language |
0.0 | 1 | 1992 | Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE · IEEE Trans. Software Eng. 1992 |
Automated reasoning and model checking
reachability |
0.0 | 1 | 1992 | An implementation of three algorithms for timing verification based on automata emptiness · RTSS 1992 |
Embedded and real-time systems › control systems
automatic control |
0.0 | 1 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 |
Embedded and real-time systems
reactive systems |
0.0 | 1 | 1991 | The synchronous data flow programming language LUSTRE · Proc. IEEE 1991 |
Compilers and program optimization
code generation |
0.0 | 1 | 1987 | Lustre: A Declarative Language for Programming Synchronous Systems · POPL 1987 |
Program analysis
static analysis |
0.0 | 1 | 1978 | Automatic Discovery of Linear Restraints Among Variables of a Program · POPL 1978 |
Methods — techniques the papers use, named apart from their topics
abstract interpretation · 0.1relational abstract domains · 0.1reactive system design · 0.0formal methods · 0.0timing analysis · 0.0model checking · 0.0fixpoint computation · 0.0cousot's widening · 0.0synchronous dataflow · 0.0synchronous data flow · 0.0structural operational semantics · 0.0data flow language design · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Disjunctive Relational Abstract Interpretation for Interprocedural Program Analysis
Rémy Boutonnet, Nicolas Halbwachs |
VMCAI | 2 |
| 2018 | Improving the results of program analysis by abstract interpretation beyond the decreasing sequence
Rémy Boutonnet, Nicolas Halbwachs |
Formal Methods Syst. Des. | 2 |
| 2012 | When the Decreasing Sequence Fails
Nicolas Halbwachs, Julien Henry |
SAS | 1 |
| 2010 | An Analysis of Permutations in Arrays
Valentin Perrelle, Nicolas Halbwachs |
VMCAI | 2 |
| 2009 | Synchronous Modeling and Validation of Priority Inheritance Schedulers
Erwan Jahier, Nicolas Halbwachs, Pascal Raymond |
FASE | 2 |
| 2008 | Discovering properties about arrays in simple programsabstractArray bound checking and array dependency analysis (for parallelization) have been widely studied. However, there are much less results about analyzing properties of array contents. In this paper, we propose a way of using abstract interpretation for discovering properties about array contents in some restricted cases: one-dimensional arrays, traversed by simple "for" loops. The basic idea, borrowed from [GRS05], consists in partitioning arrays into symbolic intervals (e.g., [1,i -- 1], [i,i], [i + 1,n]), and in associating with each such interval I and each array A an abstract variable AI; the new idea is to consider relational abstract properties ψ(AI, BI, ...) about these abstract variables, and to interpret such a property pointwise on the interval I: ∀l ∈ I, ψ(A[l], B[l],...). The abstract semantics of our simple programs according to these abstract properties has been defined and implemented in a prototype tool. The method is able, for instance, to discover that the result of an insertion sort is a sorted array, or that, in an array traversal guarded by a "sentinel", the index stays within the bounds. Nicolas Halbwachs, Mathias Péron |
PLDI | 1 |
| 2007 | Virtual execution of AADL models via a translation into synchronous programsabstractArchitecture description languages are used to describe both the hardware and software architecture of an application, at system-level. The basic software components are intended to be developed independently, and then deployed on the described architecture. This separate development of the architecture and of the software raises the problem of early validation of the integrated system. Erwan Jahier, Nicolas Halbwachs, Pascal Raymond, Xavier Nicollin, David Lesens |
EMSOFT | 2 |
| 2007 | An Abstract Domain Extending Difference-Bound Matrices with Disequality Constraints
Mathias Péron, Nicolas Halbwachs |
VMCAI | 2 |
| 2006 | Combining Widening and Acceleration in Linear Relation Analysis
Laure Gonnord, Nicolas Halbwachs |
SAS | 2 |
| 2006 | Some ways to reduce the space dimension in polyhedra computations
Nicolas Halbwachs, David Merchat, Laure Gonnord |
Formal Methods Syst. Des. | 1 |
| 2005 | A synchronous language at work: the story of LustreabstractWe recall the story of the development of the synchronous data-flow language Lustre and of its industrial transfer inside the toolset SCADE. We try to analyse the reasons of its success, and to report the main lessons we got from the transfer of an academic concept into real industrial world. Nicolas Halbwachs |
MEMOCODE | 1 |
| 2004 | Counter-example generation in symbolic abstract model-checking
Gordon J. Pace, Nicolas Halbwachs, Pascal Raymond |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2003 | Cartesian Factoring of Polyhedra in Linear Relation Analysis
Nicolas Halbwachs, David Merchat, Catherine Parent-Vigouroux |
SAS | 1 |
| 2003 | The synchronous languages 12 years laterabstractTwelve years ago, Proceedings of the IEEE devoted a special section to the synchronous languages. This paper discusses the improvements, difficulties, and successes that have occured with the synchronous languages since then. Today, synchronous languages have been established as a technology of choice for modeling, specifying, validating, and implementing real-time embedded applications. The paradigm of synchrony has emerged as an engineer-friendly design method based on mathematically sound tools. Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, Robert de Simone |
Proc. IEEE | 4 |
| 2002 | Synchronous Modelling of Asynchronous Systems
Nicolas Halbwachs, Siwar Baghdadi |
EMSOFT | 1 |
| 2001 | Automatic verification of parameterized networks of processes
David Lesens, Nicolas Halbwachs, Pascal Raymond |
Theor. Comput. Sci. | 2 |
| 1999 | Dynamic Partitioning in Analyses of Numerical Properties
Bertrand Jeannet, Nicolas Halbwachs, Pascal Raymond |
SAS | 2 |
| 1998 | Synchronous Programming of Reactive Systems
Nicolas Halbwachs |
CAV | 1 |
| 1998 | Automatic Testing of Reactive SystemsabstractThe paper addresses the problem of automatizing the production of test sequences for reactive systems. We particularly focus on two points: (1) generating relevant inputs, with respect to some knowledge about the environment in which the system is intended to run; (2) checking the correctness of the test results, according to the expected behavior of the system. We propose to use synchronous observers to express both the relevance and the correctness of the test sequences. In particular, the relevance observer is used to randomly choose inputs satisfying temporal assumptions about the environment. These assumptions may involve both Boolean and linear numerical constraints. A prototype tool called LURETTE has been developed and experimented with, which works on observers written in the LUSTRE programming language. Pascal Raymond, Xavier Nicollin, Nicolas Halbwachs, Daniel Weber 0017 |
RTSS | 3 |
| 1998 | About Synchronous Programming and Abstract Interpretation
Nicolas Halbwachs |
Sci. Comput. Program. | 1 |
| 1997 | Automatic Verification of Parameterized Linear Networks of ProcessesabstractThis paper describes a method to verify safety properties of parameterized linear networks of processes. The method is based on the construction of a network invariant, defined as a fixpoint. Such invariants can often be automatically computed using heuristics based on Cousot's widening techniques. These techniques have been implemented and some non-trivial examples are presented. David Lesens, Nicolas Halbwachs, Pascal Raymond |
POPL | 2 |
| 1997 | Verification of Real-Time Systems using Linear Relation Analysis
Nicolas Halbwachs, Yann-Erick Proy, Patrick Roumanoff |
Formal Methods Syst. Des. | 1 |
| 1996 | Compositional Semantics of Non-Deterministic Synchronous Languages
Florence Maraninchi, Nicolas Halbwachs |
ESOP | 2 |
| 1995 | The Algorithmic Analysis of Hybrid SystemsabstractWe present a general framework for the formal specification and algorithmic analysis of hybrid systems. A hybrid system consists of a discrete program with an analog environment. We model hybrid systems as finite automata equipped with variables that evolve continuously with time according to dynamical laws. For verification purposes, we restrict ourselves to linear hybrid systems, where all variables follow piecewise-linear trajectories. We provide decidability and undecidability results for classes of linear hybrid systems, and we show that standard program-analysis techniques can be adapted to linear hybrid systems. In particular, we consider symbolic model-checking and minimization procedures that are based on the reachability analysis of an infinite state space. The procedures iteratively compute state sets that are definable as unions of convex polyhedra in multidimensional real space. We also present approximation techniques for dealing with systems for which the iterative procedures do not converge. Rajeev Alur, Costas Courcoubetis, Nicolas Halbwachs, Thomas A. Henzinger, Pei-Hsin Ho, Xavier Nicollin, Alfredo Olivero, Joseph Sifakis, Sergio Yovine |
Theor. Comput. Sci. | 3 |
| 1994 | About Synchronous Programming and Abstract Interpretation
Nicolas Halbwachs |
SAS | 1 |
| 1994 | Verification of Linear Hybrid Systems by Means of Convex Approximations
Nicolas Halbwachs, Yann-Eric Proy, Pascal Raymond |
SAS | 1 |
| 1993 | Delay Analysis in Synchronous Programs
Nicolas Halbwachs |
CAV | 1 |
| 1992 | Minimization of Timed Transition Systems
Rajeev Alur, Costas Courcoubetis, Nicolas Halbwachs, David L. Dill, Howard Wong-Toi |
CONCUR | 3 |
| 1992 | An implementation of three algorithms for timing verification based on automata emptinessabstractThree algorithms for checking the emptiness of a timed transition system have been implemented. The first algorithm performs a straightforward reachability analysis on sets of states of the system, rather than on individual states. This corresponds to stepping symbolically through the system many states at a time. The other two algorithms are minimization algorithms. These simultaneously perform reachability analysis and minimization from an implicit system description. The paradigm for verification is to test for the emptiness of the set of all timed system executions that violate a requirements specification. Preliminary results over two simple examples indicate that memory usage is a more limiting factor than time.> Rajeev Alur, Costas Courcoubetis, David L. Dill, Nicolas Halbwachs, Howard Wong-Toi |
RTSS | 4 |
| 1992 | An Experience in Proving Regular Networks of Processes by Modular Model Checking
Nicolas Halbwachs, Fabienne Lagnier, Christophe Ratel |
Acta Informatica | 1 |
| 1992 | Minimal State Graph Generation
Ahmed Bouajjani, Jean-Claude Fernandez, Nicolas Halbwachs, Pascal Raymond |
Sci. Comput. Program. | 3 |
| 1992 | Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTREabstractThe benefits of using a synchronous data-flow language for programming critical real-time systems are investigated. These benefits concern ergonomy (since the dataflow approach meets traditional description tools used in this domain) and ability to support formal design and verification methods. It is shown, using a simple example, how the language LUSTRE and its associated verification tool LESAR, can be used to design a program, to specify its critical properties, and to verify these properties. As the language LUSTRE and its uses have already been discussed in several papers, emphasis is put on program verification.> Nicolas Halbwachs, Fabienne Lagnier, Christophe Ratel |
IEEE Trans. Software Eng. | 1 |
| 1991 | The synchronous data flow programming language LUSTREabstractThe authors describe LUSTRE, a data flow synchronous language designed for programming reactive systems-such as automatic control and monitoring systems-as well as for describing hardware. The data flow aspect of LUSTRE makes it very close to usual description tools in these domains (block-diagrams, networks of operators, dynamical sample-systems, etc.), and its synchronous interpretation makes it well suited for handling time in programs. Moreover, this synchronous interpretation allows it to be compiled into an efficient sequential program. The LUSTRE formalism is very similar to temporal logics. This allows the language to be used for both writing programs and expressing program properties, which results in an original program verification methodology.> Nicolas Halbwachs, Paul Caspi, Pascal Raymond, Daniel Pilaud |
Proc. IEEE | 1 |
| 1987 | Lustre: A Declarative Language for Programming Synchronous SystemsabstractLUSTRE is a synchronous data-flow language for programming systems which interact with their environments in real-time. After an informal presentation of the language, we describe its semantics by means of structural inference rules. Moreover, we show how to use this semantics in order to generate efficient sequential code, namely, a finite state automaton which represents the control of the program. Formal rules for program transformation are also presented. Paul Caspi, Daniel Pilaud, Nicolas Halbwachs, John Plaice |
POPL | 3 |
| 1986 | A Functional Model for Describing and Reasoning About Time Behaviour of Computing Systems
Paul Caspi, Nicolas Halbwachs |
Acta Informatica | 2 |
| 1985 | Outline of a Real Time Data Flow Language
Jean-Louis Bergerand, Paul Caspi, Daniel Pilaud, Nicolas Halbwachs, Eric Pilaud |
RTSS | 4 |
| 1982 | An Approach to Real Time Systems Modeling
Paul Caspi, Nicolas Halbwachs |
ICDCS | 2 |
| 1982 | Algebra of events: a model for parallel and real time systems
Paul Caspi, Nicolas Halbwachs |
ICPP | 2 |
| 1978 | Automatic Discovery of Linear Restraints Among Variables of a ProgramabstractThe model of abstract interpretation of programs developed by Cousot and Cousot [2nd ISOP, 1976], Cousot and Cousot [POPL 1977] and Cousot [PhD thesis 1978] is applied to the static determination of linear equality or inequality invariant relations among numerical variables of programs. Patrick Cousot, Nicolas Halbwachs |
POPL | 2 |