Tracing Requirements in Software Design

Zeheng Li, Mingrui Chen, LiGuo Huang, Vincent Ng, and Ruili Geng.
Proceedings of the 2017 International Conference on Software and System Processes, pp. 25-29, 2017.

Click here for the PDF version.

Abstract

Software requirement analysis is an essential step in software development process, which defines what is to be built in a project. Requirements are mostly written in text and will later evolve to fine-grained and actionable artifacts with details about system configurations, technology stacks, etc. Tracing the evolution of requirements enables stakeholders to determine the origin of each requirement and understand how well the software’s design reflects to its requirements. Reckoning requirements traceability is not a trivial task, we focus on applying machine learning approach to classify traceability between various associated requirements. In particular, we investigate a 2-learner, ontology-based approach, where we train two classifiers to separately exploit two types of features, lexical features and features derived from a hand-built ontology. In comparison to a supervised baseline system that uses only lexical features, our approach yields a relative error reduction of 25.9%. Most interestingly, results do not deteriorate when the hand-built ontology is replaced with its automatically constructed counterpart.

BibTeX entry

@InProceedings{Li:17a,
  author = {Zeheng Li and Mingrui Chen and LiGuo Huang and Vincent Ng and Ruili Geng},
  title = {Tracing Requirements in Software Design},
  booktitle = {Proceedings of the 2017 International Conference on Software and System Processes},
  pages = {25--29}, 
  year = 2017}