Inference tree

from Wikipedia, the free encyclopedia

In computer science, especially in the field of software development , an inference tree (inference from Latin infero = 'carry in', 'infer', 'close') denotes a graph for the representation of decisions and conclusions.

The inference tree is similar to the binary tree in that the results of a conclusion are represented by the two children of a node. The inference tree thus serves to visualize decision-making processes and their results, which come about through the inference or evaluation of databases or system states with the help of a corresponding set of rules. A so-called inference machine applies the set of rules to automated analysis and evaluation.

Application in software development

Inference trees are used in software development to identify the phases and methods of a development and test process as part of quality management . to be able to assess their quality and reliability on the basis of error data . In addition to the analysis and evaluation of test and development procedures, inference trees also provide suggestions and instructions on how to assess the evaluation of a process and which optimization measures can be taken. The latter feature of the inference tree distinguishes it from a pure binary tree representation, which only embodies an actual analysis.

The quality and meaningfulness of an inference tree essentially depend on the completeness and correctness of the underlying set of rules.

Inference trees at the ODC

The software metric Orthogonal Defect Classification (ODC) includes the use of inference trees. The error data available in ODC format, which are determined in the context of a software project, are used to evaluate and optimize the degree of maturity and quality of the corresponding development process with the help of inference trees. If a corresponding logic (set of rules) is used, the development and test processes involved can be analyzed and evaluated and specific improvement options for these phases can be concluded from them.

Inference tree analysis

The inference tree analysis is an existing method that allows an evaluation of the development process for software error data in ODC format on the basis of a suitable set of rules. In addition, an inference tree analysis shows specific options for action, how the phases involved in a software development process can be optimized. When drawing conclusions, the inference tree analysis takes into account the extent to which individual development and test phases favor the cause or detection of different types of errors. The inference tree analysis uses the categorization of software errors as an essential feature of the ODC concept .

Use of the inference tree analysis

Inference tree analysis with defect path

The result of an inference tree analysis is, on the one hand, a binary tree that depicts the actual situation of the software development process with regard to the detection of errors. The so-called defect path (see light blue marking in the figure) is used to visualize the current state. Furthermore, the inference tree analysis assigns an evaluation for each development and test phase with regard to freedom from defects (development phase) and reliability in the discovery of special types of defects (test phase).

The knowledge gained from this can flow directly into a redesign of the development process. Fields of action can then be localized and processed more precisely.

The following table shows the possible results of an inference tree analysis for a development process. The ratings shown in the cells according to The set of rules ( exposed , fixed , revamp and good ) are assigned to the development and test phases involved:

phase High error type occurrence (H) Low error type occurrence (L)
development Exposed (error-prone phase, the correctness of the product cannot be ensured even after the tests have been run) Fixed (errors caused here were almost completely eliminated in the course of the tests)
test Revamp (test phase not reliable in detecting typical types of errors) Good (test phase is considered reliable for detecting a type of error)

literature

  • Thomas Irmscher: Orthogonal Defect Classification as QM in SW creation. Presentation, implementation and evaluation of the ODC in software development for aircraft. Akademische Verlagsgemeinschaft München, Munich 2010, ISBN 978-3899757781 .

Web links

Individual evidence

  1. a b Bhandari, I .; Ray, B .; Wong, M.-Y .; Choi, D .; Watanabe, A .; Chillarege, R .; Halliday, M .; Dooley, A .; Chaar, J. (1994): An inference structure for process feedback. technique and implementation. Software Quality Journal, 3 (3), pp. 167-189.
  2. Chillarege, R .; Bhandari, IS; Chaar, JK; Halliday, MJ; Moebus, DS; Ray BK; Wong, M.-Y. (1992): Orthogonal Defect Classification - A Concept for In-Process Measurements. IEEE Transactions on Software Engineering, 18 (11), pp. 943-956.