Studies in Fuzziness and Soft Computing - Home - Springer 978-81-322-1176-1/1.pdf · Studies in Fuzziness…

Download Studies in Fuzziness and Soft Computing - Home - Springer 978-81-322-1176-1/1.pdf · Studies in Fuzziness…

Post on 27-Jun-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Studies in Fuzziness and Soft Computing</p><p>Volume 303</p><p>Series Editor</p><p>Janusz Kacprzyk, Warsaw, Poland</p><p>For further volumes:http://www.springer.com/series/2941</p><p>http://www.springer.com/series/2941</p></li><li><p>The series Studies in Fuzziness and Soft Computing contains publications onvarious topics in the area of soft computing, which include fuzzy sets, rough sets,neural networks, evolutionary computation, probabilistic and evidential reasoning,multi-valued logic, and related fields. The publications within Studies in Fuzzi-ness and Soft Computing are primarily monographs and edited volumes. Theycover significant recent developments in the field, both of a foundational andapplicable character. An important feature of the series is its short publication timeand world-wide distribution. This permits a rapid and broad dissemination ofresearch results. Contact the series editor by e-mail: kacprzyk@ibspan.waw.pl.</p></li><li><p>Ajeet Kumar Pandey Neeraj Kumar Goyal</p><p>Early Software ReliabilityPrediction</p><p>A Fuzzy Logic Approach</p><p>123</p></li><li><p>Ajeet Kumar PandeyAECOMHyderabad, Andhra PradeshIndia</p><p>Neeraj Kumar GoyalReliability Engineering CentreIndian Institute of Technology KharagpurKharagpur, West BengalIndia</p><p>ISSN 1434-9922 ISSN 1860-0808 (electronic)ISBN 978-81-322-1175-4 ISBN 978-81-322-1176-1 (eBook)DOI 10.1007/978-81-322-1176-1Springer New Delhi Heidelberg New York Dordrecht London</p><p>Library of Congress Control Number: 2013940762</p><p> Springer India 2013This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part ofthe material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission orinformation storage and retrieval, electronic adaptation, computer software, or by similar or dissimilarmethodology now known or hereafter developed. Exempted from this legal reservation are briefexcerpts in connection with reviews or scholarly analysis or material supplied specifically for thepurpose of being entered and executed on a computer system, for exclusive use by the purchaser of thework. Duplication of this publication or parts thereof is permitted only under the provisions ofthe Copyright Law of the Publishers location, in its current version, and permission for use mustalways be obtained from Springer. Permissions for use may be obtained through RightsLink at theCopyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law.The use of general descriptive names, registered names, trademarks, service marks, etc. in thispublication does not imply, even in the absence of a specific statement, that such names are exemptfrom the relevant protective laws and regulations and therefore free for general use.While the advice and information in this book are believed to be true and accurate at the date ofpublication, neither the authors nor the editors nor the publisher can accept any legal responsibility forany errors or omissions that may be made. The publisher makes no warranty, express or implied, withrespect to the material contained herein.</p><p>Printed on acid-free paper</p><p>Springer is part of Springer Science+Business Media (www.springer.com)</p></li><li><p>Late Prof. R. B. Misra</p></li><li><p>Preface</p><p>Due to continuous growth in size and complexity of software system, reliabilityassurance becomes tough for developers while satisfying user expectations.Applicability of software keeps on increasing for products/systems ranging frombasic home appliances to safety critical business applications. Development ofreliable software with acceptable level of quality within available time frame andbudget has become a challenging objective. This objective could be achieved tosome extent through early prediction of number of faults present in the software.Early prediction of faults provides an opportunity to make early corrections duringdevelopment process and reduces the cost of development. Further it also helps inbetter planning and utilization of development resources. This book is an upshot ofour research at Reliability Engineering Center IIT Kharagpur, India. During ourresearch we struggled a lot to find the way to predict software reliability at earlystages of software development.</p><p>The book is intended to serve three associated audiences: software profes-sionals, project managers, and researchers. For software professionals, this bookserves as a means to understand reliability of their product, the potential factorsaffecting it, and adoption of best practices to reduce number of errors in thesoftware. For software project manager, this book serves as a collection of tools,which can be easily modeled and used for monitoring reliability of softwarethroughout the development process. Further, the reliability information obtainedcan be used for reducing software development time and cost. For software reli-ability and quality researcher, this book provides important references in the area.Besides, the models proposed in this book are basic framework. This frameworkcan be put to critical investigation to find better methods which remain easy tounderstand, implement, and use. We hope that this book will help software pro-fessionals and researchers to solve complicated problems in the area of earlysoftware reliability with ease.</p><p>The book is divided into seven chapters. Chapter 1 starts with a discussion onthe need of reliability and quality software. By providing various standard defi-nitions of software reliability, error, fault, and failure, chapter has discussed twoapproaches for measuring reliability of a software system. First, a developersview focusing on software faults; if the developer has grounds for believing thatthe software is relatively fault-free, then the system is assumed to be reliable.</p><p>vii</p><p>http://dx.doi.org/10.1007/978-81-322-1176-1_1</p></li><li><p>Second, a user-based view which defines software reliability as the probabilityfailure-free software operation for a specified period of time in a specified envi-ronment. Irrespective of these viewpoints, software reliability measurementincludes two types of activities: estimation and prediction. This chapter also dis-cusses about the software reliability growth model (SRGMs) and its limitations.Chapter has highlighted the need of early software reliability prediction, itspractical challenges, and solutions. The reliability relevant metrics and CapabilityMaturity Model (CMM) are also discussed in the chapter.</p><p>Chapter 2 provides background on software reliability and quality predictions.This chapter has focused on the literature surveys on software reliability models,reliability relevant software metrics, software capability maturity models, softwaredefect prediction model, software quality prediction models, regression testing,software, and operational profile.</p><p>Chapter 3 proposes an early fault prediction model using software metrics andprocess maturity. For this, various reliability relevant software metrics applicableto different phase of software development are collected along with processmaturity. Model approach is modular in the sense that it can be applied at eachphase of Software Development Life Cycle (SDLC) and suitable for all type ofsoftware projects.</p><p>Chapter 4 has focused on fault density which seems to be a more desirablemeasure than number of fault for reliability and quality indicator. Fault densitymetric can be found for requirement document, design document, code document,and also for test report. The chapter proposes a multistage fault prediction modelwhich predicts the number of residual faults present in the software as softwareindustries are more interested to know residual faults present in their software.</p><p>Chapter 5 presents an approach to classify software modules as fault-prone (FP)and not fault-prone (NFP). Besides, the approach also predicts degree of faultproneness on a scale of zero to one, and ranks the module accordingly. ID3algorithm along with fuzzy inference system is used for classifying softwaremodules as FP or NFP. ID3 algorithm provides the required rules by analyzinghistory data for proposed fuzzy inference system.</p><p>Chapter 6 discusses an integrated and cost-effective approach to test prioriti-zation that increases the test-suites fault detection rate. The proposed approachconsiders the three important factors, program change level (PCL), test-suitechange level (TCL) and test-suite size (TS), before applying any techniques toexecute test-cases. These factors can be derived by using the information from themodified program version. A cost-effective reliability centric test case prioritiza-tion is also discussed in this chapter.</p><p>Chapter 7 discusses the way to develop the operational profile of a softwaresystem, to compute the number of test case required, and the way to allocate them.The chapter explains how the reliability of a software-based product depends on itsoperational profile. If developed early, an operational profile may be used toprioritize the development process, so that more resources are put on the mostimportant operations. A case study using the traditional and operational profile-based testing is also discussed.</p><p>viii Preface</p><p>http://dx.doi.org/10.1007/978-81-322-1176-1_2http://dx.doi.org/10.1007/978-81-322-1176-1_3http://dx.doi.org/10.1007/978-81-322-1176-1_4http://dx.doi.org/10.1007/978-81-322-1176-1_5http://dx.doi.org/10.1007/978-81-322-1176-1_6http://dx.doi.org/10.1007/978-81-322-1176-1_7</p></li><li><p>Appendices containing the data set used in various chapters of this are given theend. Readers are advised to synchronize with these dataset while utilizing themodel for reliability prediction of any software or module. Any forms of con-structive suggestions to improve our existing models are welcome. Readers canmail their queries/suggestions at ajeet.mnnit@gmail.com.</p><p>A. K. PandeyN. K. Goyal</p><p>Preface ix</p></li><li><p>Acknowledgments</p><p>Writing the acknowledgment is the loveliest and toughest part. This book has beenan outcome of our research at IIT Kharagpur and Cognizant Technology Solutions(CTS), Hyderabad, India. I am indebted to many persons from these organizationswho directly or indirectly helped us during the preparation of the manuscript. It ismy pleasure to acknowledge their help.</p><p>First, I would like to thank my professors, Prof. V. N. Naikan, Prof. S. K.Chaturvedi, and Prof. N. K. Goyal who not only introduced the subject to me buthelped me a lot to explore the new opportunities and challenges of reliabilityengineering. I express my special thanks to Late Prof. R. B. Misra; he motivatedme to start the journey of software reliability.</p><p>I acknowledge the help and cooperation received from Prof. P. K. J. Mahapatra,Prof. V. N. Giri, and Prof. U. C. Gupta during my stay at IIT Kharagpur. Thanksare also due to our EMS CoE coworkers of CTS, Hyderabad. I express my specialthanks to Dr. Phanibhushan Sistu, Vivek Diwanji, and Smith Jessy, for theirconstant motivation and support. Other friends, who reviewed the manuscript andmade helpful suggestions, are Abhisek Gupta, Ravi Kumar Mutya, Srinivas Pan-changam, and Nitin Jain of CTS Hyderabad, Rakesh Chandra Verma of TCSChennai, Prof. Rajesh Mishra of Gautam Buddha University, Greater Noida, Prof.Vivek Srivastava of NIT Delhi. Thanks are due to Prof. D. K. Yadav of NITJamshedpur, Prof. P. K. Kapur of Amity University, Noida, and Prof. M. M. Goreof MNNIT, Allahabad. I wish to thank Praveen Goyal, Director (Technical) atAECOM, Hyderabad; Dr. V. S. K. Reddy and Dr. D. Ramesh of MRCET,Hyderabad for their decent support during the last hours to finalize the manuscripton time. I also wish to thank Aninda Bose of Springer for his enthusiasm, patient,and support since beginning of the book, as well as Suguna Ramalingam,Production Editor (Springer), and his staff for their meticulous effort regardingproduction. I gratefully acknowledge the anonymous reviewers for theirconstructive comments and suggestions to improve this book significantly.</p><p>Special acknowledgment to MHRD, Government of India and administration ofCTS, Hyderabad, India, for providing financial and administrative support duringthe draft of this book.</p><p>xi</p></li><li><p>Finally, I wish to express my sincere gratitude to my parents Dr. D. P. Pandeyand Kalawati Pandey, my parents-in-law Dr. M. L. Trivedi and Santosh Trivedi fortheir AASHIRVAD. I would like to acknowledge the continuous support providedby my wife Shweta and two kids Avichal and Khyati, whose laughter used toabsorb my tiredness and let me complete this manuscript successfully.</p><p>Finally, I would like to wind up by paying my heartfelt thanks and prayers tothe Almighty, for his love and grace.</p><p>A. K. Pandey</p><p>xii Acknowledgments</p></li><li><p>Contents</p><p>1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Need for Reliable and Quality Software . . . . . . . . . . . . . . . . . 11.2 Software Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2</p><p>1.2.1 Software Error, Fault, and Failure . . . . . . . . . . . . . . . . 21.2.2 Measuring Software Reliability . . . . . . . . . . . . . . . . . . 31.2.3 Limitation of Software Reliability Models . . . . . . . . . . 4</p><p>1.3 Why Fault Prediction? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Software Fault Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . 6</p><p>1.4.1 Software Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4.2 Capability Maturity Model Level. . . . . . . . . . . . . . . . . 61.4.3 Limitation of Early Reliability Prediction Models . . . . . 71.4.4 Early Software Fault Prediction Model. . . . . . . . . . . . . 7</p><p>1.5 Residual Fault Prediction Model . . . . . . . . . . . . . . . . . . . . . . 81.5.1 Software Development Life Cycle and Fault Density . . . 81.5.2 Software Metrics and Fault Density Indicator . . . . . . . . 10</p><p>1.6 Quality of Large Software System . . . . . . . . . . . . . . . . . . . . . 101.6.1 Fault-Prone and Not Fault-Prone Software Modules. . . . 111.6.2 Fault-Proneness Factors . . . . . . . . . . . . . . . . . . . . . . . 111.6.3 Need for Software Module Classification . . . . . . . . . . . 111.6.4 Limitations with Earlier Module Prediction Models . . . . 12</p><p>1.7 Regression Testing and Software Reliability . . . . . . . . . . . . . . 121.8 Software Reliability and Operational Profile . . . . . . . . . . . . . . 131.9 Organization of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . 14References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15</p><p>2 Background: Software Quality and Reliability Prediction . . . . . . . 172.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Software Reliability Models . . . . . . . . . . . . . . . . . . . . . . . . . 17</p><p>2.2.1 Failure Rate Models. . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.2 Failure or Fault Count Models . . . . . . . . . . . . . . . . . . 192.2.3 Error or Fault-Seeding Models . . . . . . . . . ....</p></li></ul>

Recommended

View more >