ICCMATT (Inter-Component Communications Modeling, Analysis, and Testing Tool) is an eclipse plug-in tool. It helps in analyzing and testing inter-component communications of android applications. It takes an android application source code as input and generates an inter-component communication graph, a security report, and test cases.
- Import ICCMATT (AndroidICCModel) project in eclipse
- Use blueprints (https://github.com/tinkerpop/blueprints/wiki/GraphML-Reader-and-Writer-Library) as a plug-in dependency
- Go to AndroidICCModel/src/androidiccmodel/handlers/SampleHandler.java
- Modify the projectName field at line 37. Place the name of your android project. Before this, import your android project in eclipse
- Modify the output path at lines 33-35 in AndroidICCModel/src/androidiccmodel/handlers/SampleHandler.java
- Run the project.
- Another eclise IDE will display.
- Run the ICCMATT tool by clicking ICCMATT->Run menu in the new eclipse IDE.
- You can check the security report and test cases at the specified output paths.
- You can also check an ICC graph at the specified output path but the graph is in graphml format.
- The ICC graph can be best viewed with yEd Graph Editor (https://www.yworks.com/products/yed).
- Open the graphml file using yEd.
- In yEd, select Layout from the menu.
- Populate labels (nodes and edges) in yEd by selecting menu Edit -> Properties Mapper -> New Configuration (Node) -> apply and New Configuration (Edge) -> apply