Developing a defect ontology



A defect ontology defines a common vocabulary for software practitioners who need to accurately share in this domain. Although initially, the ‘sharing’ would be within the inspection context, again it is believed that this ontology will be a wide range of applications in other software engineering areas, such as quality control and measurement and defect prevention. The ontology will include machine-interpretable definitions of fundamental concepts and the relations that exist between them. Hence, it is believed that the development of the ontology will have wide-ranging benefits, including:

·        The sharing of common understanding of the structure of defect information between practitioners and software agents: This is to allow software agents to aggregate defect information from a large set of disparite sources of defect-oriented information, provided that these sources utilize the common ontology of defect terms.

·        Enabling reuse of defect knowledge: As stated above, many software engineering processes involve the representation and manipulation of defect data. Hence, the proposed ontology here will find a large number of applications.

·        Making assumptions explicit: Making all of the underlying implementation details explicit about defects allows users to accurately reason about the processes, which either inject or remove defects.

An ontology is a living, adapting, growing entity, as the domain of the ontology changes so must the ontology itself to continue to accurately reflect the domain. The implication of this is that much of the construction and maintenance activities upon the ontology should be relatively automatic. Given recent advances in Information retrieval and artificial intelligence this desire is to a certain extent achievable. This project would plan to use much of the excellent work on constructing generic ontologies.

Finally, the project plans to represent the defect ontology in the ontology representation language (OIL), making it compatible with current work of the construction of the semantic web and making further reasoning upon the ontology by generic tools, such as FaCT possible.