Lucas Freire

dblp:207/6596 · DBLP profile ↗
← Back
2ranked-venue papers
1as first author
0since 2021 · last 2018
—ORCID · none

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

Computer networks · 1Security and privacy · 1 · 1 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.

Computer networks
2 papers
Software-defined and programmable networks · 75% Network management and operations · 25%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

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

TopicWeightPapersLastEvidence papers
Software-defined and programmable networks › programmable data plane
p4 program verification
0.622018
Verification of P4 programs in feasible time using assertions · CoNEXT 2018
POSTER: Finding Vulnerabilities in P4 Programs with Assertion-based Verification · CCS 2017
Software-defined and programmable networks
programmable data plane
0.622018
Verification of P4 programs in feasible time using assertions · CoNEXT 2018
POSTER: Finding Vulnerabilities in P4 Programs with Assertion-based Verification · CCS 2017
Network management and operations
network verification
0.422018
Verification of P4 programs in feasible time using assertions · CoNEXT 2018
POSTER: Finding Vulnerabilities in P4 Programs with Assertion-based Verification · CCS 2017
Program analysis
symbolic execution
0.112018
Verification of P4 programs in feasible time using assertions · CoNEXT 2018

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

symbolic execution · 0.9program slicing · 0.7parallelization · 0.7assertions · 0.7assertion checking · 0.3
YearPublicationVenuePosition
2018 Verification of P4 programs in feasible time using assertions
abstract
Recent trends in software-defined networking have extended network programmability to the data plane. Unfortunately, the chance of introducing bugs increases significantly. Verification can help prevent bugs by assuring that the program does not violate its requirements. Although research on the verification of P4 programs is very active, we still need tools to make easier for programmers to express properties and to rapidly verify complex invariants. In this paper, we leverage assertions and symbolic execution to propose a more general P4 verification approach. Developers annotate P4 programs with assertions expressing general network correctness properties; the result is transformed into C models and all possible paths symbolically executed. We implement a prototype, and use it to show the feasibility of the verification approach. Because symbolic execution does not scale well, we investigate a set of techniques to speed up the process for the specific case of P4 programs. We use the prototype implemented to show the gains provided by three speed up techniques (use of constraints, program slicing, parallelization), and experiment with different compiler optimization choices. We show our tool can uncover a broad range of bugs, and can do it in less than a minute considering various P4 applications.
Miguel C. Neves, Lucas Freire, Alberto E. Schaeffer Filho, Marinho P. Barcellos
CoNEXT2
2017 POSTER: Finding Vulnerabilities in P4 Programs with Assertion-based Verification
abstract
Current trends in SDN extend network programmability to the data plane through the use of programming languages such as P4. In this context, the chance of introducing errors and consequently software vulnerabilities in the network increases significantly. Existing data plane verification mechanisms are unable to model P4 programs or present severe restrictions in the set of modeled properties. To overcome these limitations and make programmable data planes more secure, we present a P4 program verification technique based on assertion checking and symbolic execution. First, P4 programs are annotated with assertions expressing general correctness and security properties. Then, the annotated programs are transformed into C code and all their possible paths are symbolically executed. Results show that it is possible to prove properties in just a few seconds using the proposed technique. Moreover, we were able to uncover two potential vulnerabilities in a large scale P4 production application.
Lucas Freire, Miguel C. Neves, Alberto E. Schaeffer Filho, Marinho P. Barcellos
CCS1