Sosp19 Solar Daytime 2, Scaling Symbolic Evaluation For Automated Verification Of Systems Code Amongst Serval

Verification session was the starting fourth dimension session for Day 2. I similar formal methods, together with I did taste these papers. In this postal service I volition alone beak most the starting fourth dimension newspaper inwards the session, the Serval paper. (You tin read most SOSP19 Day 1 here.)

This newspaper is past times Luke Nelson (University of Washington), James Bornholt (University of Washington), Ronghui Gu (Columbia University), Andrew Baumann (Microsoft Research), Emina Torlak (University of Washington), Xi Wang (University of Washington).

This newspaper received a best newspaper respect at SOSP19, together with the software is publicly available at https://unsat.cs.washington.edu/projects/serval/.

SOSP has a tradition of publishing systems verification papers, such equally seL4 (SOSP’09), Ironclad Apps (OSDI’14), FSCQ (SOSP’15), CertiKOS (PLDI’16), Komodo (SOSP’17). A downside of systems verification is it is really effort-intensive. The Certikos manual proof consisted of to a greater extent than than 200K lines.

To assistance address this problem,  this newspaper introduces Serval, a framework for  developing automated verifiers for systems software. Serval accomplishes this past times lifting interpreters written past times developers into automated verifiers. It also provides a systematic approach to identifying together with repairing verification functioning bottlenecks using symbolic profiling together with optimizations.

Wait, wait... What is an interpreter? And what is lifting?

In prior come about automatic verification (such equally Hyperkernel SOSP17), a verifier implements symbolic evaluation for specific systems, together with the verifier is non reusable/generalized. To brand the verifier reusable together with general, inwards Serval, the developers write an interpreter for an didactics laid using Rosette, an extension of the Racket linguistic communication for symbolic reasoning. Serval leverages Rosette to "lift" an interpreter into a verifier; which way to "transform a regular programme to come about symbolic values". The developers also plough over the organisation specifications to last verified.


In the Serval framework the verifier consists of the lifted interpreter together with the symbolic optimization. The steps are: write a verifier equally interpreter, together with thus Serval performs symbolic profiling to uncovering bottleneck, together with apply optimizations until verification becomes feasible.


Serval uses symbolic execution to avoid the state infinite explosion problem. But the programme counter (PC) becoming symbolic is bad equally it unnecessarily opens upwards search space. Serval prevents this amongst symbolic optimizations:

  • peephole optimization
  • fine-tune symbolic evaluation
  • use domain linguistic communication to cut back the concrete values PC tin take, together with avoid path explosion problem.

Unfortunately I didn't empathize much most the starting fourth dimension ii optimizations from listening to the presentation.

Using Serval, the authors laid upwards automated verifiers for the RISC-V, x86-32, LLVM, together with BPF didactics sets. Targeting depression marking halt of compiling stack tin last an wages for verification, because nosotros don't bespeak to trust higher marking linguistic communication toolkits. Future locomote volition consider how the low-level-guarantees identified together with verified past times Serval could last connected to high marking information structures for proof verification.

To demo that existing systems tin last retrofitted for Serval, they Retrofitted CertiKOS together with Komodo for Serval. They shout out this takes roughly iv weeks for a novel system. They also flora fifteen novel bugs inwards Linux BPF JIT.

I volition read the newspaper carefully to empathize Serval better. It seems promising for scaling verification to practical systems. Of course of report the procedure nevertheless requires expertise together with several weeks worth of effort, simply Serval improves on the state-of-the-art amongst many months of effort.

0 Response to "Sosp19 Solar Daytime 2, Scaling Symbolic Evaluation For Automated Verification Of Systems Code Amongst Serval"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel