Recovering traceability links between requirements and source code using the configuration management log

Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Tadahisa Kato, Masumi Kawakami, Kentaro Yoshimura

Research output: Contribution to journalArticlepeer-review

17 Citations (Scopus)

Abstract

Traceability links between requirements and source code are helpful in software reuse and maintenance tasks. However, manually recovering links in a large group of products requires significant costs and some links may be overlooked. Here, we propose a semi-automatic method to recover traceability links between requirements and source code in the same series of large software products. In order to support differences in representation between requirements and source code, we recover links by using the configuration management log as an intermediary. We refine the links by classifying requirements and code elements in terms of whether they are common to multiple products or specific to one. As a result of applying our method to real products that have 60KLOC, we have recovered valid traceability links within a reasonable amount of time. Automatic parts have taken 13 minutes 36 seconds, and non-automatic parts have taken about 3 hours, with a recall of 76.2% and a precision of 94.1%. Moreover, we recovered some links that were unknown to engineers. By recovering traceability links, software reusability and maintainability will be improved.

Original languageEnglish
Pages (from-to)852-862
Number of pages11
JournalIEICE Transactions on Information and Systems
VolumeE98D
Issue number4
DOIs
Publication statusPublished - 2015 Apr 1

Keywords

  • Commonality and variability analysis
  • Configuration management log
  • Software product line
  • Traceability recovery

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Vision and Pattern Recognition
  • Electrical and Electronic Engineering
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Recovering traceability links between requirements and source code using the configuration management log'. Together they form a unique fingerprint.

Cite this