VLDB 2026 Research / reviewers in the wild / expert
Nicolas Palix
dblp:31/6732
· DBLP profile ↗
15ranked-venue papers
3as first author
0since 2021 · last 2020
0000-0001-8873-281XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 2 first-authorSystems, architecture and hardware · 5 · 2 first-authorSecurity and privacy · 2Computer networks · 1Human-computer interaction and ubiquitous computing · 1
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
5 papers |
Operating systems · 40% Program verification · 19% Empirical software engineering · 18% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 50% Processor architecture and microarchitecture · 50% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Operating systems › resource management › process management
CPU scheduling |
0.9 | 2 | 2020 | Fewer Cores, More Hertz: Leveraging High-Frequency Cores in the OS Scheduler for Improved Application Performance · USENIX ATC 2020 Provable multicore schedulers with Ipanema: application to work conservation · EuroSys 2020 |
Software testing
fault analysis |
0.3 | 2 | 2014 | Faults in Linux 2.6 · ACM Trans. Comput. Syst. 2014 Faults in linux: ten years later · ASPLOS 2011 |
Empirical software engineering
mining software repositories |
0.3 | 2 | 2014 | Faults in Linux 2.6 · ACM Trans. Comput. Syst. 2014 Faults in linux: ten years later · ASPLOS 2011 |
Processor architecture and microarchitecture
multicore design |
0.1 | 1 | 2020 | Fewer Cores, More Hertz: Leveraging High-Frequency Cores in the OS Scheduler for Improved Application Performance · USENIX ATC 2020 |
Empirical software engineering › software fault analysis
bug study |
0.1 | 1 | 2011 | Faults in linux: ten years later · ASPLOS 2011 |
Operating systems › kernel
linux kernel |
0.1 | 2 | 2014 | Faults in Linux 2.6 · ACM Trans. Comput. Syst. 2014 Faults in linux: ten years later · ASPLOS 2011 |
Ubiquitous computing and smart environments
pervasive application development |
0.1 | 1 | 2008 | High-level Programming Support for Robust Pervasive Computing Applications · PerCom 2008 |
Programming languages and type systems
domain-specific languages |
0.1 | 1 | 2008 | High-level Programming Support for Robust Pervasive Computing Applications · PerCom 2008 |
Programming languages and type systems › domain-specific languages
interface definition language |
0.1 | 1 | 2008 | High-level Programming Support for Robust Pervasive Computing Applications · PerCom 2008 |
Program analysis
static analysis |
0.1 | 1 | 2014 | Faults in Linux 2.6 · ACM Trans. Comput. Syst. 2014 |
Services computing and microservices
service discovery |
0.0 | 1 | 2008 | High-level Programming Support for Robust Pervasive Computing Applications · PerCom 2008 |
Program verification
static verification |
0.0 | 1 | 2008 | High-level Programming Support for Robust Pervasive Computing Applications · PerCom 2008 |
Methods — techniques the papers use, named apart from their topics
formal verification · 0.9static analysis · 0.3declarative specification · 0.2compiler generation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Provable multicore schedulers with Ipanema: application to work conservationabstractRecent research and bug reports have shown that work conservation, the property that a core is idle only if no other core is overloaded, is not guaranteed by Linux's CFS or FreeBSD's ULE multicore schedulers. Indeed, multicore schedulers are challenging to specify and verify: they must operate under stringent performance requirements, while handling very large numbers of concurrent operations on threads. As a consequence, the verification of correctness properties of schedulers has not yet been considered. Baptiste Lepers, Redha Gouicem, Damien Carver, Jean-Pierre Lozi, Nicolas Palix, Maria-Virginia Aponte, Willy Zwaenepoel, Julien Sopena, Julia Lawall, Gilles Muller |
EuroSys | 5 |
| 2020 | Fewer Cores, More Hertz: Leveraging High-Frequency Cores in the OS Scheduler for Improved Application Performance
Redha Gouicem, Damien Carver, Jean-Pierre Lozi, Julien Sopena, Baptiste Lepers, Willy Zwaenepoel, Nicolas Palix, Julia Lawall, Gilles Muller |
USENIX ATC | 7 |
| 2019 | Fork/Wait and Multicore Frequency Scaling: a Generational ClashabstractThe complexity of computer architectures has risen since the early years of the Linux kernel: Simultaneous Multi-Threading (SMT), multicore processing, and frequency scaling with complex algorithms such as Intel® Turbo Boost have all become omnipresent. In order to keep up with hardware innovations, the Linux scheduler has been rewritten several times, and many hardware-related heuristics have been added. Despite this, we show in this paper that a fundamental problem was never identified: the POSIX process creation model, i.e., fork/wait, can behave inefficiently on current multicore architectures due to frequency scaling. We investigate this issue through a simple case study: the compilation of the Linux kernel source tree. To do this, we develop SchedLog, a low-overhead scheduler tracing tool, and SchedDisplay, a scriptable tool to graphically analyze SchedLog's traces efficiently. Damien Carver, Redha Gouicem, Jean-Pierre Lozi, Julien Sopena, Baptiste Lepers, Willy Zwaenepoel, Nicolas Palix, Julia Lawall, Gilles Muller |
PLOS@SOSP | 7 |
| 2018 | MDC-Cast: A Total-Order Broadcast Protocol for Multi-Datacenter EnvironmentsabstractThe recent Total-Order Broadcast protocols that have been designed to sustain high throughput and low latency target fully switched environments, such as small datacenters and clusters. These protocols fail to achieve good performance in multi-datacenter environments, that are characterized by non-uniform network connectivity among a set of remote datacenters. More precisely, machines within a datacenter are connected using a fully switched network, whereas machines across datacenters use shared inter-datacenter network cables. This paper presents a novel Total-Order Broadcast protocol, called MDC-cast that specifically targets multi-datacenter environments. Mohamad-Jaafar Nehme, Nicolas Palix, Kamal Beydoun, Vivien Quéma |
SRDS | 2 |
| 2017 | Towards Proving Optimistic Multicore SchedulersabstractOperating systems have been shown to waste machine resources by leaving cores idle while work is ready to be scheduled. This results in suboptimal performance for user applications, and wasted power. Baptiste Lepers, Willy Zwaenepoel, Jean-Pierre Lozi, Nicolas Palix, Redha Gouicem, Julien Sopena, Julia Lawall, Gilles Muller |
HotOS | 4 |
| 2015 | Improving pattern tracking with a language-aware tree differencing algorithmabstractTracking code fragments of interest is important in monitoring a software project over multiple versions. Various approaches, including our previous work on Herodotos, exploit the notion of Longest Common Subsequence, as computed by readily available tools such as GNU Diff, to map corresponding code fragments. Nevertheless, the efficient code differencing algorithms are typically line-based or word-based, and thus do not report changes at the level of language constructs. Furthermore, they identify only additions and removals, but not the moving of a block of code from one part of a file to another. Code fragments of interest that fall within the added and removed regions of code have to be manually correlated across versions, which is tedious and error-prone. When studying a very large code base over a long time, the number of manual correlations can become an obstacle to the success of a study. In this paper, we investigate the effect of replacing the current line-based algorithm used by Herodotos by tree-matching, as provided by the algorithm of the differencing tool GumTree. In contrast to the line-based approach, the tree-based approach does not generate any manual correlations, but it incurs a high execution time. To address the problem, we propose a hybrid strategy that gives the best of both approaches. Nicolas Palix, Jean-Rémy Falleri, Julia Lawall |
SANER | 1 |
| 2014 | Coccinelle: Tool support for automated CERT C Secure Coding Standard certification
Mads Chr. Olesen, René Rydhof Hansen, Julia Lawall, Nicolas Palix |
Sci. Comput. Program. | 4 |
| 2014 | Faults in Linux 2.6abstractIn August 2011, Linux entered its third decade. Ten years before, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired numerous efforts on improving the reliability of driver code. Today, Linux is used in a wider range of environments, provides a wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? To answer this question, we have transported Chou et al.’s experiments to all versions of Linux 2.6; released between 2003 and 2011. We find that Linux has more than doubled in size during this period, but the number of faults per line of code has been decreasing. Moreover, the fault rate of drivers is now below that of other directories, such as arch. These results can guide further development and research efforts for the decade to come. To allow updating these results as Linux evolves, we define our experimental protocol and make our checkers available. Nicolas Palix, Gaël Thomas 0001, Suman Saha 0002, Christophe Calvès, Gilles Muller, Julia Lawall |
ACM Trans. Comput. Syst. | 1 |
| 2013 | WYSIWIB: exploiting fine-grained program structure in a scriptable API-usage protocol-finding processabstractSUMMARY Bug‐finding tools rely on specifications of what is correct or incorrect code. As it is difficult for a tool developer or user to anticipate all possible specifications, strategies for inferring specifications have been proposed. These strategies obtain probable specifications by observing common characteristics of code or execution traces, typically focusing on sequences of function calls. To counter the observed high rate of false positives, heuristics have been proposed for ranking or pruning the results. These heuristics, however, can result in false negatives, especially for rarely used functions. In this paper, we propose an alternate approach to specification inference, in which the user guides the inference process using patterns of code that reflect the user's understanding of the conventions and design of the targeted software project. We focus on specifications describing the correct usage of API functions, which we refer to as API protocols. Our approach builds on the Coccinelle program matching and transformation tool, which allows a user to construct patterns that reflect the structure of the code to be matched. We evaluate our approach on the source code of the Linux kernel, which defines a very large number of API functions with varying properties. Linux is also critical software, implying that fixing even bugs involving rarely used protocols is essential. In our experiments, we use our approach to find over 3000 potential API protocols, with an estimated false positive rate of under 15% and use these protocols to find over 360 bugs in the use of API functions. Copyright © 2012 John Wiley & Sons, Ltd. Julia Lawall, Julien Brunel, Nicolas Palix, René Rydhof Hansen, Henrik Stuart, Gilles Muller |
Softw. Pract. Exp. | 3 |
| 2012 | Integrated architecture exploration workflow: A NoC-based case studyabstractCompute-intensive applications can greatly benefit from the flexibility of NoC-based heterogeneous multi-core platforms. However, mapping applications on such MPSoC is becoming increasingly complex and requires integrated design flows. We conducted a case study to evaluate the benefits of an integrated design flow for the mapping space exploration of a real telecommunication application on a NoC-based heterogeneous platform. Thanks to the flow, we simulated several virtual platforms and several mappings of our application on each. This approach drastically lowers the required skills and the time needed for design space exploration. An improvement of several weeks have been observed. Diego Puschini, Julien Mottin, Nicolas Palix, Lian Apostol, Christian Fabre |
RSP | 3 |
| 2011 | Faults in linux: ten years laterabstractIn 2001, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired a number of development and research efforts on improving the reliability of driver code. Today Linux is used in a much wider range of environments, provides a much wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? Are drivers still a major problem? Nicolas Palix, Gaël Thomas 0001, Suman Saha 0002, Christophe Calvès, Julia Lawall, Gilles Muller |
ASPLOS | 1 |
| 2009 | WYSIWIB: A declarative approach to finding API protocols and bugs in Linux codeabstractEliminating OS bugs is essential to ensuring the reliability of infrastructures ranging from embedded systems to servers. Several tools based on static analysis have been proposed for finding bugs in OS code. They have, however, emphasized scalability over usability, making it difficult to focus the tools on specific kinds of bugs and to relate the results to patterns in the source code. We propose a declarative approach to bug finding in Linux OS code using a control-flow based program search engine. Our approach is WYSIWIB (What You See Is Where It Bugs), since the programmer expresses specifications for bug finding using a syntax close to that of ordinary C code. The key advantage of our approach is that search specifications can be easily tailored, to eliminate false positives or catch more bugs. We present three case studies that have allowed us to find hundreds of potential bugs. Julia Lawall, Julien Brunel, Nicolas Palix, René Rydhof Hansen, Henrik Stuart, Gilles Muller |
DSN | 3 |
| 2008 | Pantaxou: a domain-specific language for developing safe coordination servicesabstractCoordinating entities in a networked environment has always been a significant challenge for software developers. In recent years, however, it has become even more difficult, because devices have increasingly rich capabilities, combining an ever larger range of technologies (networking, multimedia, sensors, etc.). Julien Mercadal, Nicolas Palix, Charles Consel, Julia Lawall |
GPCE | 2 |
| 2008 | High-level Programming Support for Robust Pervasive Computing ApplicationsabstractIn this paper, we present a domain-specific interface definition language (IDL) and its compiler, dedicated to the development of pervasive computing applications. Our IDL provides declarative support for concisely characterizing a pervasive computing environment. This description is (1) to be used by programmers as a high-level reference to develop applications that coordinate entities of the target environment and (2) to be passed to a compiler that generates a programming framework dedicated to the target environment. This process enables verifications to be performed prior to runtime on both the declared environment and a given application. Furthermore, customized operations are automatically generated to support the development of pervasive computing activities, such as service discovery and session negotiation for stream-oriented devices. Wilfried Jouve, Julien Lancia, Nicolas Palix, Charles Consel, Julia Lawall |
PerCom | 3 |
| 2006 | Language Technology for Internet-Telephony Service CreationabstractTelephony is evolving at a frantic pace, critically relying on the development of services to offer a host of new functionalities. However, programming Internet telephony services requires an intimate knowledge of a variety of protocols and technologies, which can be a challenge for many programmers. Furthermore, because telephony is a resource heavily relied on, programmability of telephony platforms should not compromise their robustness. This paper presents an approach to creating telephony services that builds on programming language technology (i.e., language design and implementation, language semantics, and program analysis). We have developed a language, named Session Processing Language (SPL), that offers domain-specific constructs, abstracting over the intricacies of the underlying technologies. By design, SPL guarantees critical properties that cannot be verified in general-purpose languages. SPL relies on a Service Logic Execution Environment for SIP (SIP-SLEE) that introduces a design framework for service development based around the notion of session. SPL and SIP-SLEE have been implemented and they are now being used to develop and deploy real services, demonstrating the practical benefits of our approach. Laurent Burgy, Charles Consel, Fabien Latry, Julia Lawall, Nicolas Palix, Laurent Réveillère |
ICC | 5 |