Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Pascal Cuoq

dblp:86/3056 · DBLP profile ↗
← Back
9ranked-venue papers
5as first author
0since 2021 · last 2017
—ORCID · none

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

Software engineering, systems software and programming languages · 9 · 5 first-author

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
1 paper
Software testing · 50% Debugging and program repair · 50%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Debugging and program repair › fault localization
compiler bug isolation
0.112012
Test-case reduction for C compiler bugs · PLDI 2012
Software testing
compiler testing
0.112012
Test-case reduction for C compiler bugs · PLDI 2012
Debugging and program repair
fault localization
0.112012
Test-case reduction for C compiler bugs · PLDI 2012
Software testing › test optimization
test case reduction
0.112012
Test-case reduction for C compiler bugs · PLDI 2012

Methods — techniques the papers use, named apart from their topics

modular program transformation · 0.1fixpoint computation · 0.1delta debugging · 0.1
YearPublicationVenuePosition
2017 Detecting Strict Aliasing Violations in the Wild
Pascal Cuoq, Loïc Runarvot, Alexander Cherepanov
VMCAI1
2014 Behind the scenes in SANTE: a combination of static and dynamic analyses
Omar Chebaro, Pascal Cuoq, Nikolai Kosmatov, Bruno Marre, Anne Pacalet, Nicky Williams, Boris Yakobowski
Autom. Softw. Eng.2
2013 Driving a sound static software analyzer with branch-and-bound
abstract
During the last decade, static analyzers of source code have improved greatly. Today, precise analyzers that propagate values for the program's variables, for instance with interval arithmetic, are used in the industry. The simultaneous propagation of sets of values, while computationally efficient, is a source of approximations, and ultimately of false positives. When the loss of precision is detrimental to the user's goals, a user needs to provide some kind of manual guidance. Frama-C, a framework for the static analysis of C programs, provides a sound value analyzer. This analyzer can optionally be guided by skillfully placed user annotations. This article describes SPALTER, a Frama-C plug-in that uses a variation of the Skelboe-Moore algorithm from the field of interval arithmetic to guide Frama-C's value analyzer towards a high-level objective set by the user. SPALTER reproduces the results of a case study that used Frama-C's value analysis and required extensive manual guidance. In difference, our approach with SPALTER required no guidance, except preparation of the analyzed program by slicing.
Sven Mattsen, Pascal Cuoq, Sibylle Schupp
SCAM2
2012 Test-case reduction for C compiler bugs
abstract
To report a compiler bug, one must often find a small test case that triggers the bug. The existing approach to automated test-case reduction, delta debugging, works by removing substrings of the original input; the result is a concatenation of substrings that delta cannot remove. We have found this approach less than ideal for reducing C programs because it typically yields test cases that are too large or even invalid (relying on undefined behavior). To obtain small and valid test cases consistently, we designed and implemented three new, domain-specific test-case reducers. The best of these is based on a novel framework in which a generic fixpoint computation invokes modular transformations that perform reduction operations. This reducer produces outputs that are, on average, more than 25 times smaller than those produced by our other reducers or by the existing reducer that is most commonly used by compiler developers. We conclude that effective program reduction requires more than straightforward delta debugging.
John Regehr, Yang Chen 0024, Pascal Cuoq, Eric Eide, Chucky Ellison, Xuejun Yang
PLDI3
2012 Frama-C - A Software Analysis Perspective
Pascal Cuoq, Florent Kirchner, Nikolai Kosmatov, Virgile Prevosto, Julien Signoles, Boris Yakobowski
SEFM1
2011 Functional dependencies of C functions via weakest pre-conditions
Pascal Cuoq, Benjamin Monate, Anne Pacalet, Virgile Prevosto
Int. J. Softw. Tools Technol. Transf.1
2009 Experience report: OCaml for an industrial-strength static analysis framework
abstract
This experience report describes the choice of OCaml as the implementation language for Frama-C, a framework for the static analysis of C programs. OCaml became the implementation language for Frama-C because it is expressive. Most of the reasons listed in the remaining of this article are secondary reasons, features which are not specific to OCaml (modularity, availability of a C parser, control over the use of resources...) but could have prevented the use of OCaml for this project if they had been missing.
Pascal Cuoq, Julien Signoles, Patrick Baudin, Richard Bonichon, Géraud Canet, Loïc Correnson, Benjamin Monate, Virgile Prevosto, Armand Puccetti
ICFP1
2009 A Value Analysis for C Programs
abstract
We demonstrate the value analysis of Frama-C. Frama-C is an Open Source static analysis framework for the C language. In Frama-C, each static analysis technique, approach or idea can be implemented as a new plug-in, with the opportunity to obtain information from other plug-ins, and to leave the verification of difficult properties to yet other plug-ins. The new analysis may in turn provide access to the data it has computed. The value analysis of Frama-C is a plug-in based on abstract interpretation. It computes and stores supersets of possible values for all the variables at each statement of the analyzed program. It handles pointers, arrays, structs, and heterogeneous pointer casts. Besides producing supersets of possible values for the variables at each point of the execution, the value analysis produces run-time-error alarms. An alarm is emitted for each operation in the analyzed program where the value analysis cannot guarantee that there will not be a run-time error.
Géraud Canet, Pascal Cuoq, Benjamin Monate
SCAM2
2001 Modular Causality in a Synchronous Stream Language
Pascal Cuoq, Marc Pouzet
ESOP1