Research: Traceability and Product-Line Engineering / 研究: トレーサビリティ・プロダクトラインエンジニアリング

Traceability in software development is the ability to trace the relationship between artifacts. This relationship is called traceability link. We are conducting researches on recovering traceability links from existing documents, design models, and program source code. These recovered traceability links could support forming product-line architectures and reusing software assets.

Recovering Traceability Links between Requirements, Design Models and Program Source Code

TraceabilityIf traceability links between requirements and source code are not clarified when conducting maintenance and enhancements for the same series of software products, engineers cannot immediately find the correction location in the source code for requirement changes. 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 or specific to the products. 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 will be improved, and software product line introduction will be facilitated.

  • Ryosuke Tsuchiya, Hironori Washizaki, Yoshiaki Fukazawa, Tadahisa Kato, Masumi Kawakami, Kentaro Yoshimura, “Recovering Traceability Links between Requirements and Source Code in the Same Series of Software Products, ” Proceedings of 17th International Software Product Line Conference (SPLC 2013), pp.XX-YY, Tokyo, August 26-30, 2013.(PDF)
  • 土屋 良介, 鷲崎 弘宜, 深澤 良彰, 加藤 正恭, 川上 真澄, 吉村 健太郎, “派生プロダクト群における要求・実装間のトレーサビリティリンク抽出”, 電子情報通信学会ソフトウェアサイエンス研究会11月 (IEICE-SIGSS), 2012. (SIGSS201211.pdf)
  • Kentaro Kumaki, Ryosuke Tsuchiya, Hironori Washizaki and Yoshiaki Fukazawa, “Supporting Commonality and Variability Analysis of Requirements and Structural Models,” 4th International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE 2012), collocated with SPLC 2012, September 4, 2012. (PDF)

Measuring Traceability between Design Models and Program Source Code

Although researchers have recently investigated how to use and preserve traceability because it is an important issue for software maintainability, the degree of traceability is difficult to recognized objectively and precisely even if traceability links are recovered. Herein we propose a semi-automatic approach to measure the traceability between a design model and its source code via the Goal-Question-Metric approach. The original algorithm which maps the elements of design and implementation is also proposed for accurate measurements. We discuss performance of the mapping algorithm and usage of measurement results. The results suggest that our approach may elucidate the condition
for traceability and aid in traceability maintenance.

  • Hiroki Itoh, Hiroyuki Tanabe, Rieko Namiki, Hironori Washizaki, and Yoshiaki Fukazawa, “Traceability Measurement between a Design Model and its Source Code,” 12th IASTED International Conference on Software Engineering (SE 2013), February 11-13, 2013.(PDF)
  • 伊藤弘毅, 志水理哉, 田邉浩之, 波木理恵子, 鷲崎弘宜, 深澤良彰, “トレーサビリティリンク回復を通じたトレーサビリティ測定と改善支援”, コンピュータソフトウェア, Vol.XX, No.YY, pp.XX-YY, 2013.(掲載予定)(PDF)


メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>