upenn-acg / verified-tsan Goto Github PK
View Code? Open in Web Editor NEWExperiments in verifying race detection.
Experiments in verifying race detection.
In instrument_sim_safe, we assumed that the original program and the instrumented program has the same memory m
before making the step(s); this causes a problem when proving instrument_correct, because the initial memory for the instrumented program is m0
, whereas that of the original program should be []
(if we assume the original program also has its initial memory being m0
, then the hypothesis Hroot
may not be satisfied). @mansky1 How about we change the hypothesis of instrument_sim_safe such that assume something like mem_sim' m1 m2 /\ consistent m1
, where m1,m2 are the initial memory of the instrumented and original program, respectively?
The desired lemma has been stated(but not yet proved) here.
A lemma stating sth. like "initialized m x -> can_write m x" is needed when proving consistent_mem_vals & consistent_mem_vals'.
In case we forget about them after the reordering lemmas are finished.
There's a gap left in the current instrument_correct_race, which exec_fail_iexec failed to bridge. We need an extended version of exec_fail_iexec to resolve this.
This issue arose in the proof of legal_tids_steps, and instrument_sim_safe': after doing an induction on Hsteps and Hstep, the base case looks unprovable. @mansky1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.