# Quality Properties of Execution Tracing, an Empirical Study
## 4 Results and Discussion
### Defining the Quality Properties of Execution Tracing  
The final variables, on which execution tracing quality depends, are summarised in this section. The variables based on the analysed literature and the variables based on the empiric research conducted with the focus groups show no contradictions only different emphases. While defining the final variables with a consensus based on the focus groups and on the identified literature, the sizes and the relevance of the data clusters in the course of data coding process were also considered. In addition, a final cleaning of the data clusters was also done. The final variable definitions are provided below with a scale definition which supports possible measurements along these dimensions. The definition of ratio scale was selected as it supports all kinds of mathematical operations in contrast to interval and ordinal scale types. It is important to stress that the below four variables do not form a quality model, yet, but they offer a foundation on which a quality model can be built. The scale range is [0, 100] in the case of each variable. The zero value expresses the complete absence of the property while the maximum value expresses the complete presence. **Variable :**: _Accuracy_  
Range: [0, 100]  
Scale type: Ratio  
Definition: The variable defines the quality of the execution tracing output with regard to its content, to what extent it trustworthily and consistently helps to identify the cause, the date, the time, and the location of the issue in the source code but not how legible the trace output is. It might include depending on the context but is not limited to whether the trace output contains (1) the appropriate details in a concise, non-redundant manner, (2) whether the origin of the trace entry can definitely be identified in the source files, (3) whether date and time with appropriate granularity, in the case of several nodes with clocks synchronised, are traced for each entry, (4) whether the host, (5) the process, (6) the thread id are traced for each entry, (7) whether exceptions are traced once with full stack trace, (8) whether all important information is traced, (9) whether the build date and (10) the software version are traced, (11) whether environment variables are traced, (12) whether higher level actions, business processes can definitely be identified based on the trace entries, (13) whether the flow control is identifiable over component boundaries, (14) whether the transactions can definitely be identified and followed over component boundaries, (15) whether the sequence of the trace entries are kept in chronological order, (16) whether there are different severity levels, (17) whether the severity levels are consistently used across the application, (18) whether the same error is traced with the same message across the application in a unified manner, including error codes, (19) whether data sources and data destinations can definitely be identified, (20) whether metadata of the file system including time for modified, and accessed attributes are traced, (21) whether metadata of backups and recoveries are traced, (22) whether the necessary variable values are traced not just object or function references. **Variable name:**: _Legibility_  
Range: [0, 100]  
Scale type: Ratio  
Definition: The variable defines the quality of the appearance of the execution tracing output but not the content itself. It shows how legible and user-friendly the output of execution tracing is.