-
Notifications
You must be signed in to change notification settings - Fork 5
Add_tools
In order to add a new analysis tool, preprocessor, operator or converter to the AQL-System, its configuration has to be adapted (See the configuration tutorial). Adding an analysis tool may require a new converter to be added as well. To do so, three options are available:
If one of the converters implemented in the AQL-System fits your needs. You just have to assign the associated toolname for the analysis tool in the configuration. Currently the following converters are available:
- Amandroid
- DIALDroid (not supported from version 2.0.0 onwards - If you plan to use this converter, please adapt
data/converter/dialdroid_config.properties) - DidFail
- DroidSafe
- FlowDroid
- IC3
- IccTA
- PAndA2
(the provided tool's version may decide which converter exactly is used. For example, there are two FlowDroid converters available one for FlowDroid >2.5.0 and one for earlier versions.)
Implement your own converter and compile the AQL-System on your own (See the install & compile tutorial).
- Include your converter by implementing the interface
IConverter - Add it to the
ConverterRegistryinside thede.foellix.aql.converterpackage by adding the following line (after Line 41 in ConverterRegistry.java):
this.converters.add(
new Identifier(
new DefaultConverter("AwesomeDroid", AwesomeDroidConverter.class)
, "AwesomeDroid")
);(In this example AwesomeDroid refers to the toolname of the tool you want to add, which is defined in the configuration. The associated converter is AwesomeDroidConverter.)
- Develop your own converter...
- taking the result file of the tool you want to add as input
- and generating an AQL-Answer as output.
- Specify this converter in the configuration (See the configuration tutorial).
- Make sure to assign the toolname of all tools, for which the converter should be used, in
<questions>.
(e.g.<questions>AwesomeDroid1, AwesomeDroid2</questions>)