The thesis that an efficient EDM consists of a set of critical variables has been substantiated by the research presented in Chapters 4-6. However, aside from the issues raised above, there remain limitations of this thesis that must be ac- knowledged in the context of the work presented. These limitations are discussed below. Note that the limitations of the approaches proposed in Chapters 4-6 are discussed in their respective chapters, whereas the issues raised here focus specifically on the limitations of stated thesis.
The design of efficient EDMs is a central theme of the research presented and the thesis that an efficient EDM consists of a set of critical variables. How- ever, the notion of efficiency applied in this thesis is relatively inexact, in that no threshold was defined, with respect to the adopted efficiency measures, to deter- mine whether a particularly EDM could be viewed as efficient. The motivation of this inexact characterisation of efficiency was based on the fact that, whilst the maximum efficiency that can be achieved by an EDM is well know, i.e., T P R= 1, F P R= 0 andAU C = 1, this maximum level of efficiency may not always be achievable, particularly in situations where read and write constraints are places on program variables [76]. As it is not possible to determine when the maximum achievable efficiency has been reached, this means that a precise characterisation of efficiency, even on a per software system basis, may discount EDMs that are as efficient as they could be for a particular location, thereby violating the intention of the EDM design problem as discussed in Chapter 2.
As mentioned previously, the thesis that an efficient EDM consists of a set of critical variables does not imply that every variable in that set of critical variables must be captured by an EDM in order for it to be efficient or that
7. Discussion
doing so would result in the design of an efficient EDM. Indeed, the stated thesis could less succinctly but equivalently be rephrased to state that an efficient EDM consists of a subset of program variables from a software module that can be considered critical. This restatement of the thesis is less succinct but emphasises the point that not every critical variable in a software must be captured in order for an EDM to be efficient at a specific location.
The thesis that an efficient EDM consists of a set of critical variables relies on the existence of some notion of criticality. The research presented in this thesis focused on a specific notion of criticality, as characterised by the measurement of spatial impact, temporal impact and system failure rates. However, whilst demonstrating that a notion of criticality by can be devised to support the stated thesis is sufficient for the validation of the stated thesis, this work does not completely specify the notion, or each and every notion, of criticality that is consistent with the stated thesis. Indeed, an exploration of notion of criticality with respect to program variables and the stated thesis represents an interesting area for future work in EDM design.
Finally, though it is not an inherent limitation of the research presented, the thesis that an EDM consists of a set of critical variables has relatively few implications for the effective composition of error detection predicates. That is, understanding that a set of critical variables must be identified and incor- porated by an error detection predicate does not, by itself, enable the design of an efficient EDM. This thesis limitation is somewhat circumvented by the approach proposed in Chapter 5, in that this approach was shown to be capable of generating efficient error detection predicates on the basis of critical critical variables, though it should be noted that the approach provides little specific insight into the general process of composing efficient EDMs and does not pro- vide any guarantees with respect to the generation of a single most efficient error detection predicate for a location.
7. Discussion
Having discussed the implications, applications and limitations of the thesis that an efficient EDM consists of a set of critical variables, as well as relating the research presented to this thesis, it remains to conclude with a summary of achievements and a discussion of future work. This concluding summary and discussion is the focus of the final chapter of this thesis.
CHAPTER
8
Conclusion and Future Work
To this point a body of research, analysis and discussion has been presented to substantiate the thesis that an EDM consists of a set of critical variables. Moreover, the implications of the contributions made with regard to the design of efficient EDMs have been drawn together to provide a sound basis to support this notion. In this chapter a summary of these research contributions and a discussion of future work relating to the EDM design problem is provided as a conclusion to this thesis. In particular, the research contributions made throughout Chapters 4-6 are summarised with respect to the stated thesis, whist the discussion of future work focuses on issues such as the inheritance and propagation of criticality among program variables, and the potential for the location of EDMs to be based on achievable efficiency.
8. Conclusion and Future Work
8.1
Thesis Summary
In this thesis the notion of program variable criticality has been used to address the problem of EDM design. That is to say, it has been shown that efficient error detection predicates for specified locations, hence EDMs, can be generated based only on critical variables, where this notion of criticality has been shown to extend across software modules associated with these variables. These results were presented in the context of the thesis that:
Where an efficient EDM exists under the defined system model, that efficient EDM consists of a set of critical variables.
The key implications of this thesis are that, if an appropriate set of critical variables can be determined, then (i) the problem of EDM design is dramatically simplified, as the state space that a software engineer must consider in the design of error detection predicates is dramatically reduced, and (ii) the occurrence of critical variables can be used to inform the the location of EDMs.