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

Josselin Feist

dblp:148/4730 · DBLP profile ↗
← Back
7ranked-venue papers
1as first author
1since 2021 · last 2021
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 1 first-author · 1 since 2021Security and privacy · 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
3 papers
Software testing · 72% Program analysis · 28%
Network and information security
1 paper
Blockchain and cryptocurrency security · 100%

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

TopicWeightPapersLastEvidence papers
Software testing
test generation
1.132020
Echidna: effective, usable, and fast fuzzing for smart contracts · ISSTA 2020
Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts · ASE 2019
Specification of concretization and symbolization policies in symbolic execution · ISSTA 2016
Program analysis
symbolic execution
0.622019
Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts · ASE 2019
Specification of concretization and symbolization policies in symbolic execution · ISSTA 2016
Software testing
fuzzing
0.412020
Echidna: effective, usable, and fast fuzzing for smart contracts · ISSTA 2020
Software testing › fuzzing
smart contract fuzzing
0.412020
Echidna: effective, usable, and fast fuzzing for smart contracts · ISSTA 2020
Software testing › test coverage
code coverage
0.412019
Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts · ASE 2019
Program analysis
dynamic analysis
0.412019
Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts · ASE 2019
Software testing › test generation
symbolic testing
0.212016
Specification of concretization and symbolization policies in symbolic execution · ISSTA 2016
Blockchain and cryptocurrency security
smart contract security
0.112019
Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts · ASE 2019

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

constraint solving · 0.8property violation detection · 0.4assertion checking · 0.4symbolic execution · 0.2rule-based specification language · 0.2
YearPublicationVenuePosition
2021 Evaluating and Improving Static Analysis Tools Via Differential Mutation Analysis
abstract
Static analysis tools attempt to detect faults in code without executing it. Understanding the strengths and weaknesses of such tools, and performing direct comparisons of their ef-fectiveness, is difficult, involving either manual examination of differing warnings on real code, or the bias-prone construction of artificial test cases. This paper proposes a novel automated approach to comparing static analysis tools, based on producing mutants of real code, and comparing detection rates over these mutants. In addition to making tool differences quantitatively observable without extensive manual effort, this approach offers a new way to detect and fix omissions in a static analysis tool's set of detectors. We present an extensive comparison of three smart contract static analysis tools, and show how our approach allowed us to add three effective new detectors to the best of these. We also evaluate popular Java and Python static analysis tools and discuss their strengths and weaknesses.
Alex Groce, Iftekhar Ahmed 0001, Josselin Feist, Gustavo Grieco, Jiri Gesi, Mehran Meidani, Qihong Chen
QRS3
2020 Echidna: effective, usable, and fast fuzzing for smart contracts
abstract
Ethereum smart contracts---autonomous programs that run on a blockchain---often control transactions of financial and intellectual property. Because of the critical role they play, smart contracts need complete, comprehensive, and effective test generation. This paper introduces an open-source smart contract fuzzer called Echidna that makes it easy to automatically generate tests to detect violations in assertions and custom properties. Echidna is easy to install and does not require a complex configuration or deployment of contracts to a local blockchain. It offers responsive feedback, captures many property violations, and its default settings are calibrated based on experimental data. To date, Echidna has been used in more than 10 large paid security audits, and feedback from those audits has driven the features and user experience of Echidna, both in terms of practical usability (e.g., smart contract frameworks like Truffle and Embark) and test generation strategies. Echidna aims to be good at finding real bugs in smart contracts, with minimal user effort and maximal speed.
Gustavo Grieco, Will Song, Artur Cygan, Josselin Feist, Alex Groce
ISSTA4
2019 Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts
abstract
An effective way to maximize code coverage in software tests is through dynamic symbolic execution-a technique that uses constraint solving to systematically explore a program's state space. We introduce an open-source dynamic symbolic execution framework called Manticore for analyzing binaries and Ethereum smart contracts. Manticore's flexible architecture allows it to support both traditional and exotic execution environments, and its API allows users to customize their analysis. Here, we discuss Manticore's architecture and demonstrate the capabilities we have used to find bugs and verify the correctness of code for our commercial clients.
Mark Mossberg, Felipe Manzano, Eric Hennenfent, Alex Groce, Gustavo Grieco, Josselin Feist, Trent Brunson, Artem Dinaburg
ASE6
2016 Toward Large-Scale Vulnerability Discovery using Machine Learning
abstract
With sustained growth of software complexity, finding security vulnerabilities in operating systems has become an important necessity. Nowadays, OS are shipped with thousands of binary executables. Unfortunately, methodologies and tools for an OS scale program testing within a limited time budget are still missing.
Gustavo Grieco, Guillermo L. Grinblat, Lucas C. Uzal, Sanjay Rawat 0001, Josselin Feist, Laurent Mounier
CODASPY5
2016 Specification of concretization and symbolization policies in symbolic execution
abstract
Symbolic Execution (SE) is a popular and profitable approach to automatic code-based software testing. Concretization and symbolization (C/S) is a crucial part of modern SE tools, since it directly impacts the trade-offs between correctness, completeness and efficiency of the approach. Yet, C/S policies have been barely studied. We intend to remedy to this situation and to establish C/S policies on a firm ground. To this end, we propose a clear separation of concerns between C/S specification on one side, through the new rule-based description language CSml, and the algorithmic core of SE on the other side, revisited to take C/S policies into account. This view is implemented on top of an existing SE tool, demonstrating the feasibility and the benefits of the method. This work paves the way for more flexible SE tools with well-documented and reusable C/S policies, as well as for a systematic study of C/S policies.
Robin David, Sébastien Bardin, Josselin Feist, Laurent Mounier, Marie-Laure Potet, Thanh Dinh Ta, Jean-Yves Marion
ISSTA3
2016 Guided Dynamic Symbolic Execution Using Subgraph Control-Flow Information
Josselin Feist, Laurent Mounier, Marie-Laure Potet
SEFM1
2016 BINSEC/SE: A Dynamic Symbolic Execution Toolkit for Binary-Level Analysis
abstract
When it comes to software analysis, several approaches exist from heuristic techniques to formal methods, which are helpful at solving different kinds ofproblems. Unfortunately very few initiative seek to aggregate this techniques in the same platform. BINSEC intend to fulfill this lack of binary analysis platform by allowing to perform modular analysis. This work focusses on BINSEC/SE, the new dynamic symbolic execution engine (DSE) implemented in BINSEC. We will highlight the novelties of the engine, especially in terms of interactions between concrete and symbolic execution or optimization of formula generation. Finally, two reverse engineering applications are shown in order to emphasize the tool effectiveness.
Robin David, Sébastien Bardin, Thanh Dinh Ta, Laurent Mounier, Josselin Feist, Marie-Laure Potet, Jean-Yves Marion
SANER5