Quality Prediction and Assessment for Product Lines

In recent years, software product lines have emerged as a promising approach to improve software development productivity in IT industry. In the product line approach, we identify both commonalities and variabilities in a domain, and build generic assets for an organization. Feature diagrams are often used to model common and variant product line requirements and can be considered part of the organizational assets. Despite their importance, quality attributes (or non-functional requirements, NFRs) such as performance and security have not been sufficiently addressed in product line development. A feature diagram alone does not tell us how to select a configuration of variants to achieve desired quality attributes of a product line member. There is a lack of an explicit model that can represent the impact of variants on quality attributes. In this paper, we propose a Bayesian Belief Network (BBN) based approach to quality prediction and assessment for a software product line. A BBN represents domain experts' knowledge and experiences accumulated from the development of similar projects. It helps us capture the impact of variants on quality attributes, and helps us predict and assess the quality of a product line member by performing quantitative analysis over it. For developing specific systems, members of a product line, we reuse the expertise captured by a BBN instead of working from scratch. We use examples from the Computer Aided Dispatch (CAD) product line project to illustrate our approach.

[1]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[2]  Victor R. Basili,et al.  Improve Software Quality by Reusing Knowledge and Experience , 1995 .

[3]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[4]  William E. Perry Effective methods of EDP quality assurance: 2nd edition , 1988 .

[5]  Stan Jarzabek,et al.  Frame-based method for customizing generic software architectures , 1999, SSR '99.

[6]  Paola Inverardi,et al.  Performance analysis at the software architectural design level , 2001, Perform. Evaluation.

[7]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[8]  William E. Perry Effective methods of EDP quality assurance , 1987 .

[9]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[10]  Judea Pearl,et al.  Chapter 2 – BAYESIAN INFERENCE , 1988 .

[11]  D. Heckerman,et al.  Toward Normative Expert Systems: Part I The Pathfinder Project , 1992, Methods of Information in Medicine.

[12]  Daniel Hoffman,et al.  Software product lines: a case study , 2000 .

[13]  Frank P. Ginac Customer Oriented Software Quality Assurance , 1997 .

[14]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[15]  Henrik I. Christensen,et al.  Bayesian methods for interpretation and control in multiagent vision systems , 1992, Defense, Security, and Sensing.

[16]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[17]  Ioannis Stamelos,et al.  Quality, Productivity, and Learning in Framework-Based Development: An Exploratory Case Study , 2002, IEEE Trans. Software Eng..

[18]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[19]  Brian A. Nixon,et al.  Management of Performance Requirements for Information Systems , 2000, IEEE Trans. Software Eng..

[20]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[21]  Dorina C. Petriu,et al.  Architecture-Based Performance Analysis Applied to a Telecommunication System , 2000, IEEE Trans. Software Eng..

[22]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[23]  Norman E. Fenton,et al.  Making decisions: using Bayesian nets and MCDA , 2001, Knowl. Based Syst..

[24]  Judea Pearl,et al.  Probabilistic reasoning in intelligent systems - networks of plausible inference , 1991, Morgan Kaufmann series in representation and reasoning.

[25]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[26]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[27]  Alan C. Gillies,et al.  Software Quality: Theory and Management , 1992 .

[28]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[29]  Shikharesh Majumdar,et al.  The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software , 1995, IEEE Trans. Computers.

[30]  Tsutomu Ishida,et al.  Metrics and Models in Software Quality Engineering , 1995 .

[31]  David Heckerman,et al.  Decision-theoretic troubleshooting , 1995, CACM.

[32]  Gruia-Catalin Roman,et al.  A taxonomy of current issues in requirements engineering , 1985, Computer.

[33]  Gerard O’Regan A Practical Approach to Software Quality , 2002, Springer New York.

[34]  Stan Jarzabek,et al.  XVCL: a tutorial , 2002, SEKE '02.

[35]  Pericles Loucopoulos,et al.  System Requirements Engineering , 1995, System Requirements Engineering.

[36]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[37]  James D. Arthur,et al.  Managing Software Quality , 2002 .

[38]  Stan Jarzabek,et al.  XML-based method and tool for handling variant requirements in domain models , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[39]  Stephen Shaoyi Liao,et al.  Exploring Alternatives during Requirements Analysis , 2001, IEEE Softw..

[40]  Bev Littlewood,et al.  Software reliability and dependability: a roadmap , 2000, ICSE '00.

[41]  Akhilesh Bajaj,et al.  An estimation of the decision models of senior IS managers when evaluating the external quality of organizational software , 2002, J. Syst. Softw..