Artificial Intelligence Applications for Improved Software Engineering Development: New Prospects Farid Meziane University of Salford, UK Sunil Vadera University of Salford, UK InformatIon scIence reference Hershey • New York Director of Editorial Content: Kristin Klinger Senior Managing Editor: Jamie Snavely Assistant Managing Editor: Michael Brehm Publishing Assistant: Sean Woznicki Typesetter: Sean Woznicki Cover Design: Lisa Tosheff Printed at: Yurchak Printing Inc. Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E. Chocolate Avenue Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: [email protected] Web site: http://www.igi-global.com/reference Copyright © 2010 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Artificial intelligence applications for improved software engineering development : new prospects / Farid Meziane and Sunil Vadera, editors. p. cm. Includes bibliographical references and index. Summary: "This book provides an overview of useful techniques in artificial intelligence for future software development along with critical assessment for further advancement"--Provided by publisher. ISBN 978-1-60566-758-4 (hardcover) -- ISBN 978-1-60566-759-1 (ebook) 1. Computer software--Development. 2. Artificial intelligence. I. Meziane, Farid. II. Vadera, Sunil. QA76.76.D47A82 2009 006.3--dc22 2009018603 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the authors, but not necessarily of the publisher. Editorial Advisory Board Epaminondas Kapetanios, University of Westminster, UK Leonid Kof, Munich Technical University, Germany C. Peng Lam, Edith Cowan University, Australia David Lo, Singapore Management University, Singapore Elisabeth Metais, CNAM, Paris, France Dilip Patel, London South Bank University, UK Vijayan Sugumaran, Oakland University, USA List of Reviewers Adil Al Yasiri, University of Salford, UK Chris Bryant, University of Salford, UK Epaminondas Kapetanios, University of Westminster, UK Zoubida Kedad, Université de Versailles, France Leonid Kof, Munich Technical University, Germany C. Peng Lam, Edith Cowan University, Australia David Lo, Singapore Management University, Singapore Elisabeth Metais, CNAM, Paris, France Edwin Mit, University Malaysia Sarawak, Malaysia Rafael Munoz, Universidat de Alicante, Spain Dilip Patel, London South Bank University, UK Muthu Ramachandran, Leeds Metropolitan University, UK Vijay Sugumaran, Oakland University, USA Krishnaprasad Thirunarayan, Wright State University, USA Jia Wu, East Lancs Moneyline (IPS) Ltd, UK Table of Contents Foreword ............................................................................................................................................xiii Preface .................................................................................................................................................xv Acknowledgment ..............................................................................................................................xxii Section 1 Project Management and Cost Estimation Chapter 1 Software Project and Quality Modelling Using Bayesian Networks .....................................................1 Norman Fenton, Queen Mary, University of London, United Kingdom Peter Hearty, Queen Mary, University of London, United Kingdom Martin Neil, Queen Mary, University of London, United Kingdom Łukasz Radliński, Queen Mary, University of London, United Kingdom, and University of Szczecin, Poland Chapter 2 Using Bayesian Networks for Web Effort Estimation .........................................................................26 Emilia Mendes, The University of Auckland, New Zealand Chapter 3 Optimizing Software Development Cost Estimates using Multi-Objective Particle Swarm Optimization ............................................................................................................................45 Tad Gonsalves, Sophia University, Japan Kei Yamagishi, Sophia University, Japan Ryo Kawabata, Sophia University, Japan Kiyoshi Itoh, Sophia University, Japan Chapter 4 Auto-Associative Neural Networks to Improve the Accuracy of Estimation Models .........................66 Salvatore A. Sarcia, Università di Roma Tor Vergata, Italy Giovanni Cantone, University of Maryland, USA Victor R. Basili, University of Maryland, USA Section 2 Requirements Engineering and Specification Chapter 5 From Textual Scenarios to Message Sequence Charts .........................................................................83 Leonid Kof, Technische Universität München, Germany Chapter 6 A Bayesian Network for Predicting the Need for a Requirements Review .......................................106 José del Sagrado Martínez, University of Almería, Spain Isabel María del Águila Cano, University of Almería, Spain Chapter 7 Knowledge Engineering Support for Software Requirements, Architectures and Components .......129 Muthu Ramachandran, Leeds Metropolitan University, UK Chapter 8 MUSTER: A Situational Tool for Requirements Elicitation ..............................................................146 Chad Coulin, University of Technology Sydney, Australia & LAAS CNRS, France Didar Zowghi, University of Technology Sydney, Australia Abd-El-Kader Sahraoui, LAAS CNRS, France Section 3 Software Design and Implementation Chapter 9 An Intelligent Computational Argumentation System for Supporting Collaborative Software Development Decision Making .........................................................................................................167 Xiaoqing (Frank) Liu, Missouri University of Science and Technology, USA Ekta Khudkhudia, Missouri University of Science and Technology, USA Lei Wen, Missouri University of Science and Technology, USA Vamshi Sajja, Missouri University of Science and Technology, USA Ming C. Leu, Missouri University of Science and Technology, USA Chapter 10 Supporting Quality-Driven Software Design through Intelligent Assistants .....................................181 Alvaro Soria, ISISTAN Research Institute and CONICET, Argentina J. Andres Diaz-Pace, Software Engineering Institute, USA Len Bass, Software Engineering Institute, USA Felix Bachmann, Software Engineering Institute, USA Marcelo Campo, ISISTAN Research Institute and CONICET, Argentina Section 4 Software Testing and Maintenance Chapter 11 Constraint-Based Techniques for Software Testing ...........................................................................218 Nikolai Kosmatov, CEA LIST, Software Safety Laboratory, France Chapter 12 Computational Intelligence for Functional Testing ...........................................................................233 C. Peng Lam, Edith Cowan University, Australia Chapter 13 Mining Past-Time Temporal Rules: A Dynamic Analysis Approach .................................................259 David Lo, Singapore Management University, Singapore Siau-Cheng Khoo, National University of Singapore, Singapore Chao Liu, Microsoft Research – Redmond, USA Chapter 14 Artificial Intelligence in Software Engineering: Current Developments and Future Prospects ........278 Farid Meziane, University of Salford, UK Sunil Vadera, University of Salford, UK Compilation of References ...............................................................................................................300 About the Contributors ....................................................................................................................336 Index ...................................................................................................................................................343 Detailed Table of Contents Foreword ............................................................................................................................................xiii Preface .................................................................................................................................................xv Acknowledgment ..............................................................................................................................xxii Section 1 Project Management and Cost Estimation Chapter 1 Software Project and Quality Modelling Using Bayesian Networks .....................................................1 Norman Fenton, Queen Mary, University of London, United Kingdom Peter Hearty, Queen Mary, University of London, United Kingdom Martin Neil, Queen Mary, University of London, United Kingdom Łukasz Radliński, Queen Mary, University of London, United Kingdom, and University of Szczecin, Poland Chapter 1 provides an introduction to the use of Bayesian Network (BN) models in Software Engineering. A short overview of the theory of BNs is included, together with an explanation of why BNs are ideally suited to dealing with the characteristics and shortcomings of typical software development environ- ments. This theory is supplemented and illustrated using real world models that illustrate the advantages of BNs in dealing with uncertainty, causal reasoning and learning in the presence of limited data. Chapter 2 Using Bayesian Networks for Web Effort Estimation .........................................................................26 Emilia Mendes, The University of Auckland, New Zealand Web effort models and techniques provide the means for Web companies to formalise the way they estimate effort for their projects, and help in obtaining more accurate estimates. Accurate estimates are fundamental to help project managers allocate resources more adequately, thus supporting projects to be finished on time and within budget. The aim of this chapter is to introduce the concepts related to Web effort estimation and effort forecasting techniques, and to discuss effort prediction when the estimation technique used is Bayesian Networks. Chapter 3 Optimizing Software Development Cost Estimates using Multi-Objective Particle Swarm Optimization ............................................................................................................................45 Tad Gonsalves, Sophia University, Japan Kei Yamagishi, Sophia University, Japan Ryo Kawabata, Sophia University, Japan Kiyoshi Itoh, Sophia University, Japan Chapter 3 shows how the recently developed Computational Intelligence techniques can effectively improve the prediction power of existing models. In particular, the authors focus on the adaptation of the Multi-Objective Particle Swarm Optimization (MOPSO) algorithm in simultaneously minimizing two objective functions – prediction error rate and model complexity. This provides the project manager with an opportunity to choose from a set of optimal solutions represented in a trade-off relationship on the Pareto front. Traditional search algorithms use knowledge of the terrain and expert heuristics to guide the search; such uses make them problem-specific and domain-dependent. The MOPSO meta- heuristic approach relies neither on the knowledge of the problem nor on the experts’ heuristics, making its application wide and extensive. Chapter 4 Auto-Associative Neural Networks to Improve the Accuracy of Estimation Models .........................66 Salvatore A. Sarcia, Università di Roma Tor Vergata, Italy Giovanni Cantone, University of Maryland, USA Victor R. Basili, University of Maryland, USA In Chapter 4, the authors focus on improving regression models by decreasing their redundancy and increasing their parsimony, i.e., they turn the model into a model with fewer variables than the former. They present an empirical auto-associative neural network-based strategy for model improvement, which implements a reduction technique called Curvilinear component analysis. The contribution of this chapter is to show how multi-layer feedforward neural networks can be a useful and practical mechanism for improving software engineering estimation models. Section 2 Requirements Engineering and Specification Chapter 5 From Textual Scenarios to Message Sequence Charts .........................................................................83 Leonid Kof, Technische Universität München, Germany Chapter 5 presents an approach that analyzes textual scenarios with the means of computational linguistics, identifies where actors or whole actions are missing from the text, completes the missing information, and creates a message sequence chart (MSC) including the information missing from the textual scenario. Finally, this MSC is presented to the requirements analyst for validation. The book chapter presents also a case study where scenarios from a requirement document based on industrial specifications were translated to MSCs. The case study shows feasibility of the approach. Chapter 6 A Bayesian Network for Predicting the Need for a Requirements Review .......................................106 José del Sagrado Martínez, University of Almería, Spain Isabel María del Águila Cano, University of Almería, Spain Chapter 6 focuses on the construction of “Requisites”, a Bayesian network designed to be used as a predictor that tells us whether a requirements specification has enough quality to be considered as a baseline. Requisites have been defined using several information sources, such as standards and reports, and through interaction with experts, in order to structure and quantify the final model. This Bayesian network reflects the knowledge needed when assessing a requirements specification. The authors show how Requisites can be used through the study of some use cases. After the propagation over the network of information collected about the certainty of a subset of variables, the value predicted will determine if the requirements specification has to be revised. Chapter 7 Knowledge Engineering Support for Software Requirements, Architectures and Components .......129 Muthu Ramachandran, Leeds Metropolitan University, UK Chapter 7 provides insights into the application of knowledge based approaches to the development of agile software development, software product line, software components and architecture. In particular, it presents three research systems that demonstrate the potential benefits of utilising knowledge based approaches to support agile methods. The first system, called SoBA, supports the use of a story board for agile software development; the second system, called .NET designer, provides design rationale for choosing appropriate architectural solutions, and the third system, called RAIS, provides reuse assess- ment and improvement for designing reusable software components. Chapter 8 MUSTER: A Situational Tool for Requirements Elicitation ..............................................................146 Chad Coulin, University of Technology Sydney, Australia & LAAS CNRS, France Didar Zowghi, University of Technology Sydney, Australia Abd-El-Kader Sahraoui, LAAS CNRS, France Chapter 8 presents a collaborative and situational tool called MUSTER, that has been specifically designed and developed for requirements elicitation workshops, and which utilizes, extends, and demonstrates a successful application of intelligent technologies for Computer Aided Software Engineering and Com- puter Aided Method Engineering. The primary objective of this tool is to improve the effectiveness and efficiency of the requirements elicitation process for software systems development, whilst addressing some of the common issues often encountered in practice through the integration of intelligent technolo- gies. The tool also offers an example of how a group support system, coupled with artificial intelligence, can be applied to very practical activities and situations within the software development process.
Description: