Domain Ontology Construction for Software Intensive Projects (2015-Current)

Ontology has been demonstrated useful to support communication between software stakeholders and to facilitate a number of automated software engineering tasks. Especially, domain ontology can be adopted to analyze the text of software artifacts, to reason their semantics in the context of the environment in which software system operates, and to examine concrete connections between them. But in practice, most software projects are not supported with ontologies because ontology construction is a time-consuming and labor-intensive task.

In this project, we propose a novel solution to utilize software traceability data to guide the process of mining domain facts, i.e. relationship between domain concepts, which consequently constitute an domain ontology. Software traceability data is created by human expert after they carefully scrutinize the software artifacts with their domain knowledge. Therefore, it can serve as an effective resource for constructing domain ontology. During the process of domain fact mining, we utilize the traceability data to generate fact candidates and rank them by integrating evidence produced by different knowledge sources, i.e. syntactic relatedness analyser, association rule miner, topic modeler, and semantic relatedness analyser. The domain facts will be added to the domain ontology after user’s confirmation.

Related Publications

  • Guo, J. (2016). Ontology Learning and its Application in Software-Intensive Projects. Accepted to Doctoral Symposium at The 38th International Conference on Software Engineering.