Promoting excellence in mobility engineering

  1. FISITA Store
  2. Technical Papers

Mining Software Repository for Extracting Software Product Line Variability
FISITA2008/F2008-05-065

Authors

Yoshimura, Kentaro* - Hitachi Research Laboratory, Hitachi, Ltd., Japan.
Hashimoto, Koji - Hitachi Research Laboratory, Hitachi, Ltd., Japan.
Narisawa, Fumio - Hitachi Research Laboratory, Hitachi, Ltd., Japan.
Morita, Yuichiro - Hitachi Research Laboratory, Hitachi, Ltd., Japan.

Abstract

Keywords - embedded software, software product lines, variability, reverse engineering, factor analysis

Recently, software has been a power and bottleneck for innovation of automotive systems. In the AUTOSAR consortium [2], 90% of innovations are related to the electrics electronics that include software. Without using software, achieving state-of-the-art technologies such as low-emission engine-management systems and electronic stability control systems is impossible. On the other hand, software is becoming a bottleneck of vehicle development. The size of software implemented in a vehicle has increased significantly. Moreover, there are a huge number of variations because software must be optimized for target products for many OEM, market segments, and regions for example.

Software Product Line (SPL) is one of the promising technologies for software systems that have a large number of product variations. In SPL, we analyze not only commonality but also variability between product variations from the viewpoint of features and implement the variability in software architecture as variation points. There are several experience case studies that SPL improves productivity and reliability of control software. However, analyzing the variability is really difficult and time consuming since there is no clear definition of "variability". The variability may depend on the viewpoint of the stakeholders, and adopting existing systems that are designed without the SPL concept would be difficult.

We have proposed an empirical method called "FAVE - Factor Analysis-based Variability Extraction". In contrast to the conventional top-down variability analysis, we have developed a bottom-up method to mining inter-product variability from a software repository by adopting the factor analysis method that is one of the statistical data-reduction techniques. Using our method, variability candidates are extracted automatically from a software change history.

This paper describes an overview of the FAVE method and a novel tool for analyzing actual software repositories of software development. The FAVE tool consists of two subsystems; a repository analyser and a factor analyser. The repository analyser connects version control systems and generates change vectors that represent differential information of software development histories. Then, the factor analyser calculates the statistical data of the change vectors and provides change patterns of the software in the repository.

Add to basket

Back to search results