ppati000 / visualdfa Goto Github PK
View Code? Open in Web Editor NEWVisualDFA is a sophisticated educational tool for interactively visualizing data-flow analyses using Java/Jimple.
License: MIT License
VisualDFA is a sophisticated educational tool for interactively visualizing data-flow analyses using Java/Jimple.
License: MIT License
Constant Bits und Reaching-Definitions werfen Exceptions auf dem Beispiel, partielle Ergebnisse gibt es nicht. (den Konstruktor der Klasse kriegen sie analysiert, da passiert aber auch literally nichts.)
Taint-Analyse wirft sogar auf dem Konstruktor der Defaultklasse eine Exception.
Wenn ich das richtig sehe braucht man zuerst folgendes, damit maven die lokalen jars findet:
mvn install:install-file -Dfile=src/main/resources/libs/jgraphx-custom.jar -DgroupId=jgraphx -DartifactId=jgraphx-custom -Dversion=1.0 -Dpackaging=jar
mvn install:install-file -Dfile=src/main/resources/libs/soot-trunk.jar -DgroupId=soot -DartifactId=soot-trunk -Dversion=3.0.0 -Dpackaging=jar
Damit beschwert sich maven zwar immer noch darüber, dass es keine pom für die beiden Dependencies findet, aber zumindest ist das nur ne Warnung.
Des Weiteren versuche ich nun schon geschlagene zwei Stunden lang, die Reflections-Library glücklich zu machen, und kriege immer noch Fehler über eine fehlende iterator-Methode tief in Guava.
Ich weiß nicht welche arkanen Beschwörungen mir fehlen, aber wenn ich mehr machen muss als git clone...; cd ...; mvn install; java -jar target/...
, muss da eine README her!
Bitte hier nicht einfach die Exception schlucken, sondern wenigstens nen Stacktrace printen. Dann kann man Plugins vielleicht sogar debuggen. ;)
Folgender Testcode:
public class Example {
public void helloWorld(boolean print, int xp) {
int x = xp;
__sensitive(x);
__clean(x);
x = x + 1;
}
}
Im Pre-State der Zeile x = x + 1
ist (korrekt) x = clean (v). Im Post-State ist x = clean, hat also sein Violation-Flag verloren. Sollte das Flag nicht bis zum Programmende erhalten bleiben um zu zeigen, dass irgendwann einmal etwas Unsicheres mit dieser Variable getan wurde?
public void example(int a) {
if (a > 0) {
return;
}
return;
}
Terminiert nicht mal mit der DummyAnalyse
Der Graph-export exportiert nach ~/visualDFA
, der Rest nach ~/visualDfa
, soll das so sein?
Wenn mehrere Definitionen für eine Variable über Kontrollfluss zusammenfließen, wirft der Join die Variable einfach aus dem State.
Beispiel:
public void A(boolean print, int x) {
if (print) {
x = x + 1;
}
System.out.println(x);
}
Der In-State vom println-Block sollte sowohl die @parameter1
-Definition enthalten als auch die x=x+1
-Definition, stattdessen fehlt x
einfach darin
Ist ja cool dass ihr System.getProperty("file.separator")
beachtet und so, aber... https://github.com/ppati000/PSE/blob/98c01cdedfd91939e348bf2a50d72f99aa55d822/Implementierung/visual-dfa/src/main/java/controller/OptionFileParser.java#L119
Ist nur ne Kleinigkeit, aber es sollte schon die standard-Annahme sein, dass das System richtig konfiguriert ist, oder?
Dies entspricht nicht dem Pflichtenheft, siehe K3, F20, T9.
Das aktuelle Verhalten ist kein kritischer Bug, aber irgendwie auch nicht das was ich erwarten würde wenn ich das Programm benutze
Die Unicode-ellipsis bei zu langen Zeilen werden bei mir als "…" gerendert.
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.