reb-ddm / analyzer Goto Github PK
View Code? Open in Web Editor NEWThis project forked from goblint/analyzer
Static analysis framework for C
Home Page: https://goblint.in.tum.de
License: MIT License
This project forked from goblint/analyzer
Static analysis framework for C
Home Page: https://goblint.in.tum.de
License: MIT License
Probably happens in meet_tcons when Z is casted to int, because an overflow or cast should have happened but it is not treated correctly by us.
Check after Overflow Analysis has been fixed:
Case: ldv-linux-4.2-rc1/linux-4.2-rc1.tar.xz-08_1a-drivers--net--xen-netback--xen-netback.ko-entry_point.cil.out.c
APRON:
To get the index of a variable if you have a variable, use:
Environment.dim_of_var env variable
Function naming:
_with -> in-place changes
no _with -> make a copy
== compares address equality
!= for unequal addresses
HOW TO RUN THE REGRESSION TESTS:
Method 1: ./regtest.sh numberofdirectory(=77) numberoftest -> run a single regression test
Method 2: ./scripts/update_suite.rb group lin2vareq -> runs only our tests but all at the same time
Method 3: make test -> run entire test suite
-> the methods have a different behaviour w.r.t. unreachable code
- test with different flags
- gobview doesnt work with apron
-Visualize test:
./regtest.sh 63 01
python3 -m http.server
open http://localhost:8000/ on a browser
go to /result folder
index.xml -> main (printxml uses show)
click on program points
orange nodes: dead code
state at the beginning of the line
multiple paths-> line was divided in two parts by the analysis
TODO:
12. January or earlier pull request -> all features implemented
-> run on svcomp benchmarks -> to check runtime and unsoundness and crashes
DEBUG:
1. print stack trace while executing ./goblint:
-v option for goblint -> prints stack trace
2. Print the debug information defined with M.tracel:
https://goblint.readthedocs.io/en/latest/developer-guide/debugging/#tracing
./script/trace_on
--trace name1 --trace name2
3. Debug OCaml
gdb debug for OCaml
or with EarlyBird (apparently it will maybe not work)
or with ocamldebug
SUBMODULES:
To update submodules:
git submodule update --init --recursive
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.