Format of the results
1. general metrics statistics
- gdistcov.txt - general code composition with respect to three layers (SDK, 3rd-party-library, app/user code) in terms of numbers of classes and methods in the code and the trace separately, counting unique method/class names.
- Format: (every three lines per app)
class_app class_ul class_sdk class_all method_app method_ul method_sdk method_all (static counts in the apk)
class_app class_ul class_sdk class_all method_app method_ul method_sdk method_all (dynamic counts in the trace)
class_app class_ul class_sdk class_all method_app method_ul method_sdk method_all (ratios of dynamic to static)
- gdistcovIns.txt - general execution composition with respect to three layers (SDK, 3rd-party-library, app/user code) in terms of numbers of instances of classes and methods in the and the trace separately, counting all instances appeared in the trace.
- Format: (one line per app)
class_app class_ul class_sdk class_all method_app method_ul method_sdk method_all (dynamic counts in the trace)
- edgefreq.txt - call frequency ranking (of all callsites)
- Format: (n lines per app where n is the total callsites in the app; all lines are in the same format as follows)
frequency code-layer-of-caller code-layer-of-callee
- callerrank.txt - ranking of callers by number of unique callees
- Format: (n lines per app where n is the total unique callers in the app; all lines are the in same format as follows)
number-of-unique-callees code-layer-of-caller
- callerrankIns.txt - ranking of callers by number of total instances of callees
- Format: (n lines per app where n is the total unique callers in the app; all lines are the in same format as follows)
number-of-total-instance-of-callees code-layer-of-caller
- calleerank.txt - ranking of callees by number of unique callers
- Format: (n lines per app where n is the total unique callees in the app; all lines are the in same format as follows)
number-of-unique-callers code-layer-of-callee
- calleerankIns.txt - ranking of callees by number of total instances of callers
- Format: (n lines per app where n is the total unique callees in the app; all lines are the in same format as follows)
number-of-total-instance-of-callers code-layer-of-callee
- compdist.txt - general distribution of component types in terms of the numbers of each type of components in the code and the trace separately, counting unique class (top component class) names and total execution instances.
- Format: (every three lines per app)
activity service broadcast_receiver content_provider application (static counts in the apk code)
activity service broadcast_receiver content_provider application (dynamic unique counts in the trace)
activity service broadcast_receiver content_provider application (dynamic instance counts in the trace)
- callback.txt - usage of all callbacks (lifecyle callbacks and event handlers) counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances)
s_lifecycle s_eventHandler d_lifecycle d_eventHandler s_all d_all d_allInCalls d_allLifecycleInCalls d_allEventhandlerInCalls
- lifecycleMethod.txt - categorization and counts of lifecycle callback methods, counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances, 'P' for percentage over all lifecyle callsites or all lifecyle call instances)
category s_lifecycle d_lifecycle d_lifecycleInCalls s_lifecycleP d_lifecycleP d_lifecycleInCallsP
- eventHandler.txt - categorization and counts of event handler callback methods, counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances, 'P' for percentage over all eventhandler callsites or all eventhandler call instances)
category s_eventhandler d_eventHandler d_eventhandlerInCalls s_eventhandlerP d_eventHandlerP d_eventhandlerInCallsP
2. ICC metrics statistics
for ICCs from single-app traces:
- gicc.txt - all ICC categorization with respect to internal/external X explicit/implicit, counting all instances
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting in trace, 'allInCalls' for all call instances, int for internal, ext for external, ex for explicit, im for implicit, in/inc for incoming, out for outgoing; 'alldata' for all ICCs carrying URI data only, 'allextra' for all ICCs carrying extras data only, 'allboth' for ICCs carrying both URI and extras data)
s_all d_all d_allInCalls s_in s_out d_in d_out d_alldata d_allextra d_allboth int_ex_inc int_ex_out int_im_inc int_im_out ext_ex_inc ext_ex_out ext_im_inc ext_im_out
- dataicc.txt - categorization of ICCs carrying URI data only with respect to internal/external X explicit/implicit, counting all instances
- Format: (one line per app; int for internal, ext for external, ex for explicit, im for implicit, in/inc for incoming, out for outgoing)
int_ex_inc int_ex_out int_im_inc int_im_out ext_ex_inc ext_ex_out ext_im_inc ext_im_out
- extraicc.txt - categorization of ICCs carrying extras data only with respect to internal/external X explicit/implicit, counting all instances
- Format: (one line per app; int for internal, ext for external, ex for explicit, im for implicit, in/inc for incoming, out for outgoing)
int_ex_inc int_ex_out int_im_inc int_im_out ext_ex_inc ext_ex_out ext_im_inc ext_im_out
- bothdataicc.txt - categorization of ICCs carrying both URI and extras data with respect to internal/external X explicit/implicit, counting all instances
- Format: (one line per app; int for internal, ext for external, ex for explicit, im for implicit, in/inc for incoming, out for outgoing)
int_ex_inc int_ex_out int_im_inc int_im_out ext_ex_inc ext_ex_out ext_im_inc ext_im_out
- icclink.txt - component type of source and target of all ICCs, counting all instances
- Format: (n lines per app where n is the total ICC instances of the app; all lines are the in same format as follows)
type-of-source -> type-of-target
for ICCs from inter-app traces: same as single-app ICC metrics.
3. security metrics statistics
- srcsink.txt - usage of taint sources and sinks, counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances, 'escapeSrc' for having forward reachable sinks, 'reachableSink' for having backward reachable sources)
s_source s_sink d_source d_sink s_all d_all d_allInCall d_allSrcInCall d_allSinkInCall d_escapeSrc d_reachableSink d_escapeSrcInCall d_reachableSinkInCall"
- src.txt - categorization and counts of taint sources, counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances, 'P' for percentage over all taint-source allsites or all taint-source call instances, 'escapeSrc' for having forward reachable sinks, 'reachableSink' for having backward reachable sources)
category s_source d_source d_allSrcInCall d_allEscapeSrcs d_allEscapeSrcInCalls s_sourceP d_sourceP d_allSrcInCallP d_allEscapeSrcsP d_allEscapeSrcInCallsP
- sink.txt - categorization and counts of taint sources, counting in code and trace
- Format: (one line per app; s for static meaning counting in code, d for dynamic meaning counting unique calls in trace, 'all*InCalls' for all call instances, 'P' for percentage over all taint-sink allsites or all taint-sink call instances, 'escapeSrc' for having forward reachable sinks, 'reachableSink' for having backward reachable sources)
category s_source d_source d_allSrcInCall d_allEscapeSrcs d_allEscapeSrcInCalls s_sourceP d_sourceP d_allSrcInCallP d_allEscapeSrcsP d_allEscapeSrcInCallsP