Comments (4)
Agreed. Unfortunately, we don't have spare capacity to write documentation.
I have added the simple example to the README (5683c50).
from flowdroid.
The code has JavaDoc on almost all methods, even on the private ones. The main class of the command-line tool is fairly simple, so you can just look into the MainClass
and see how it uses the FlowDroid API classes.
There are even some writeups for specific tasks, e.g., call graph generation: https://medium.com/geekculture/generating-call-graphs-in-android-using-flowdroid-pointsto-analysis-7b2e296e6697
In short, if you want to run a data flow analysis, have a look at the SetupApplication
class and its computeInfoflow
method. You may want to set a taint wrapper as well:
SetupApplication app = new SetupApplication(androidJarFolder, apkPath);
app.setTaintWrapper(new SummaryTaintWrapper(new LazySummaryProvider("summariesManual")));
InfoflowResults results = app.runInfoflow();
That should be the most basic configuration.
from flowdroid.
The code has JavaDoc on almost all methods, even on the private ones. The main class of the command-line tool is fairly simple, so you can just look into the
MainClass
and see how it uses the FlowDroid API classes.There are even some writeups for specific tasks, e.g., call graph generation: https://medium.com/geekculture/generating-call-graphs-in-android-using-flowdroid-pointsto-analysis-7b2e296e6697
In short, if you want to run a data flow analysis, have a look at the
SetupApplication
class and itscomputeInfoflow
method. You may want to set a taint wrapper as well:SetupApplication app = new SetupApplication(androidJarFolder, apkPath); app.setTaintWrapper(new SummaryTaintWrapper(new LazySummaryProvider("summariesManual"))); InfoflowResults results = app.runInfoflow();
That should be the most basic configuration.
Right.
This is a very useful tool and I'm very thankful to you and other contributors. This is helping me and my fellow researchers.
Yeah, I missed the JavaDoc because by default my IDE showed decompiled sources instead of real sources and that's on me.
Medium articles aside from being behind paywalls most of the time, however, not in this case are prone to be outdated so a more dependable source is always the project repository's readme or even wiki.
I think the very same three-line code you provided here should be added to the readme as a first clue for people to know where to start, I don't see why this is not in the readme maybe this tool is more command-line centric or some other reasons.
The problem with Javadoc is that when someone just tries to use your Library/API, its architecture is unknown to them so they may have difficulties where to start and this even slows down seasoned programmers. Javadoc is better suited for someone already familiar with the tool's architecture.
That's just my two cents.
from flowdroid.
Agreed. Unfortunately, we don't have spare capacity to write documentation.
I have added the simple example to the README (5683c50).
Thank you.
from flowdroid.
Related Issues (20)
- (Question) Getting precisely source to sink path (methods) with FlowDroid HOT 8
- APK Instrumentation: Issues with app startup when excluding androidx.* HOT 6
- java.lang.NullPointerException: Cannot invoke "Object.hashCode() HOT 4
- Using FlowDroid for Java Programs HOT 1
- RuntimeException: File format violation, res1 was not zero HOT 4
- Non-deterministic results from --dataflowsolver FLOWINSENSITIVE --pathalgo CONTEXTINSENSITIVE --taintwrapper EASY HOT 1
- (Question)Display SootClass and SootMethod Information for Each Stmt of Taint Path in FlowDroid HOT 2
- No sources found, aborting analysis HOT 5
- Null pointer errors when attempting to find data flow in app HOT 3
- Can not run project with FlowDroid HOT 8
- Is there a method to start taint analysis for a single variable instead of between two functions?
- Is there a taint analysis tool for open-source application HOT 3
- Why flowdroid cannot find the path from flow1 to flow2 by taint varibale Flow.data1? HOT 4
- (Question) about path between sources and sinks.
- Non-deterministic behavior of the command line tool
- Detect source method ignoring subsequent data flow tracking HOT 3
- Unable to generate the ICFG for Kotlin Composables
- How to Utilize FlowDroid to Track Implicit Data-Flow HOT 2
- Some problems in running flowdroid source code HOT 4
- About flowdroid running memory usage settings HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flowdroid.