Categorization of Reasons for Unreachability (RQ2)
The detailed breakdown of manually extracted reasons for unreachability is also provided as an Excel sheet.
For each application under study, we grey out activities that are reached manually, and for each unreached activity, we mark the reasons leading to unreachability as described in the paper, i.e., Device (Software properties and Hardware properties), Server, Environment, External resources (Equipment and Information), Usage patterns, Error handling, Alternate entry, Disabled (For app version and For all end-users), Transitive, No caller and Inconclusive.
Categorization of Properties (RQ3)
We systematically study and characterize properties of conditions guarding the execution of unreached activities.
From a total 363 unreached activities, we exclude activities classified as Inconclusive, No caller or Transitive. We obtain a set of 185 activities, from which we extract a detailed breakdown in terms of Exported, Activation Location, Activation Guards, and Data. The breakdown is provided as an excel sheet.
The distribution of activities along each property, coupled with the reasons for unreachability of the related activities is provided here.
From this analysis, we extract 18 types of activity with varying difficulty levels for tools to handle. We further map these types to the associated reasons for unreachability to characterize which patterns are most common depending on the reason:
We also characterize the data used in terms of type (Parameters or Execution Dependencies) and format (Primitive only, Primitive + Strings, Primitive + Strings + Objects):