UNIVERSITI PUTRA MALAYSIA

Similar documents
UNIVERSITI PUTRA MALAYSIA

IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM

IMPROVED IMAGE COMPRESSION SCHEME USING HYBRID OF DISCRETE FOURIER, WAVELETS AND COSINE TRANSFORMATION MOH DALI MOUSTAFA ALSAYYH

LOGICAL OPERATORS AND ITS APPLICATION IN DETERMINING VULNERABLE WEBSITES CAUSED BY SQL INJECTION AMONG UTM FACULTY WEBSITES NURUL FARIHA BINTI MOKHTER

DETECTION OF WORMHOLE ATTACK IN MOBILE AD-HOC NETWORKS MOJTABA GHANAATPISHEH SANAEI

ADAPTIVE ONLINE FAULT DETECTION ON NETWORK-ON-CHIP BASED ON PACKET LOGGING MECHANISM LOO LING KIM UNIVERSITI TEKNOLOGI MALAYSIA

ENHANCING TIME-STAMPING TECHNIQUE BY IMPLEMENTING MEDIA ACCESS CONTROL ADDRESS PACU PUTRA SUARLI

COLOUR IMAGE WATERMARKING USING DISCRETE COSINE TRANSFORM AND TWO-LEVEL SINGULAR VALUE DECOMPOSITION BOKAN OMAR ALI

SUPERVISED MACHINE LEARNING APPROACH FOR DETECTION OF MALICIOUS EXECUTABLES YAHYE ABUKAR AHMED

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP

HARDWARE AND SOFTWARE CO-SIMULATION PLATFORM FOR CONVOLUTION OR CORRELATION BASED IMAGE PROCESSING ALGORITHMS SAYED OMID AYAT

UNIVERSITI PUTRA MALAYSIA RANK-ORDER WEIGHTING OF WEB ATTRIBUTES FOR WEBSITE EVALUATION MEHRI SAEID

THE COMPARISON OF IMAGE MANIFOLD METHOD AND VOLUME ESTIMATION METHOD IN CONSTRUCTING 3D BRAIN TUMOR IMAGE

INTEGRATION OF CUBIC MOTION AND VEHICLE DYNAMIC FOR YAW TRAJECTORY MOHD FIRDAUS BIN MAT GHANI

HARDWARE-ACCELERATED LOCALIZATION FOR AUTOMATED LICENSE PLATE RECOGNITION SYSTEM CHIN TECK LOONG UNIVERSITI TEKNOLOGI MALAYSIA

OPTIMIZE PERCEPTUALITY OF DIGITAL IMAGE FROM ENCRYPTION BASED ON QUADTREE HUSSEIN A. HUSSEIN

FUZZY NEURAL NETWORKS WITH GENETIC ALGORITHM-BASED LEARNING METHOD M. REZA MASHINCHI UNIVERSITI TEKNOLOGI MALAYSIA

RGB COLOR IMAGE WATERMARKING USING DISCRETE WAVELET TRANSFORM DWT TECHNIQUE AND 4-BITS PLAN BY HISTOGRAM STRETCHING KARRAR ABDUL AMEER KADHIM

SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS SENSOR NETWORK MOHAMMAD HOSSEIN AMRI UNIVERSITI TEKNOLOGI MALAYSIA

AUTOMATIC APPLICATION PROGRAMMING INTERFACE FOR MULTI HOP WIRELESS FIDELITY WIRELESS SENSOR NETWORK

ISOGEOMETRIC ANALYSIS OF PLANE STRESS STRUCTURE CHUM ZHI XIAN

UNIVERSITI PUTRA MALAYSIA KEY TRANSFORMATION APPROACH FOR RIJNDAEL SECURITY

AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI

BLOCK-BASED NEURAL NETWORK MAPPING ON GRAPHICS PROCESSOR UNIT ONG CHIN TONG UNIVERSITI TEKNOLOGI MALAYSIA

LINK QUALITY AWARE ROUTING ALGORITHM IN MOBILE WIRELESS SENSOR NETWORKS RIBWAR BAKHTYAR IBRAHIM UNIVERSITI TEKNOLOGI MALAYSIA

ENHANCING SRAM PERFORMANCE OF COMMON GATE FINFET BY USING CONTROLLABLE INDEPENDENT DOUBLE GATES CHONG CHUNG KEONG UNIVERSITI TEKNOLOGI MALAYSIA

A NEW STEGANOGRAPHY TECHNIQUE USING MAGIC SQUARE MATRIX AND AFFINE CIPHER WALEED S. HASAN AL-HASAN UNIVERSITI TEKNOLOGI MALAYSIA

DEVELOPMENT OF A MOBILE ROBOT SPATIAL DATA ACQUISITION SYSTEM OOI WEI HAN MASTER OF SCIENCE UNIVERSITI PUTRA MALAYSIA

STATISTICAL APPROACH FOR IMAGE RETRIEVAL KHOR SIAK WANG DOCTOR OF PHILOSOPHY UNIVERSITI PUTRA MALAYSIA

SYSTEMATIC SECURE DESIGN GUIDELINE TO IMPROVE INTEGRITY AND AVAILABILITY OF SYSTEM SECURITY ASHVINI DEVI A/P KRISHNAN

QOS-AWARE HANDOVER SCHEME FOR HIERARCHICAL MOBILE IPv6 USING CONTEXT TRANSFER WITH LINK LAYER TRIGGER

MICRO-SEQUENCER BASED CONTROL UNIT DESIGN FOR A CENTRAL PROCESSING UNIT TAN CHANG HAI

RECOGNITION OF PARTIALLY OCCLUDED OBJECTS IN 2D IMAGES ALMUASHI MOHAMMED ALI UNIVERSITI TEKNOLOGI MALAYSIA

A SEED GENERATION TECHNIQUE BASED ON ELLIPTIC CURVE FOR PROVIDING SYNCHRONIZATION IN SECUERED IMMERSIVE TELECONFERENCING VAHIDREZA KHOUBIARI

This item is protected by original copyright

BORANG PENGESAHAN STATUS TESIS

ENHANCEMENT OF UML-BASED WEB ENGINEERING FOR METAMODELS: HOMEPAGE DEVELOPMENT CASESTUDY KARZAN WAKIL SAID

A TRUST MODEL FOR BUSINESS TO CUSTOMER CLOUD E-COMMERCE HOSSEIN POURTAHERI

OPTIMIZED BURST ASSEMBLY ALGORITHM FOR MULTI-RANKED TRAFFIC OVER OPTICAL BURST SWITCHING NETWORK OLA MAALI MOUSTAFA AHMED SAIFELDEEN

A LEVY FLIGHT PARTICLE SWARM OPTIMIZER FOR MACHINING PERFORMANCES OPTIMIZATION ANIS FARHAN BINTI KAMARUZAMAN UNIVERSITI TEKNOLOGI MALAYSIA

Pengenalan Sistem Maklumat Dalam Pendidikan

DYNAMIC TIMESLOT ALLOCATION TECHNIQUE FOR WIRELESS SENSOR NETWORK OON ERIXNO

SEMANTICS ORIENTED APPROACH FOR IMAGE RETRIEVAL IN LOW COMPLEX SCENES WANG HUI HUI

UNIVERSITI PUTRA MALAYSIA DEVELOPMENT OF A REAL-TIME EMBEDDED REMOTE TRIGGERING AND MONITORING SYSTEM CHUI YEW LEONG FK

UNIVERSITI PUTRA MALAYSIA WEIGHTED WINDOW FOR TCP FAIR BANDWIDTH ALLOCATION IN WIRELESS LANS

IMPLEMENTATION AND PERFORMANCE ANALYSIS OF IDENTITY- BASED AUTHENTICATION IN WIRELESS SENSOR NETWORKS MIR ALI REZAZADEH BAEE

ONTOLOGY-BASED SEMANTIC HETEROGENEOUS DATA INTEGRATION FRAMEWORK FOR LEARNING ENVIRONMENT

PRIVACY FRIENDLY DETECTION TECHNIQUE OF SYBIL ATTACK IN VEHICULAR AD HOC NETWORK (VANET) SEYED MOHAMMAD CHERAGHI

DEVELOPMENT OF COMMERCIAL VEHICLE SPEED WARNING SYSTEM NGO CHON CHET

SOLUTION AND INTERPOLATION OF ONE-DIMENSIONAL HEAT EQUATION BY USING CRANK-NICOLSON, CUBIC SPLINE AND CUBIC B-SPLINE WAN KHADIJAH BINTI WAN SULAIMAN

UNIVERSITI PUTRA MALAYSIA RELIABILITY PERFORMANCE EVALUATION AND INTEGRATION OF ROUTING ALGORITHM IN SHUFFLE EXCHANGE WITH MINUS ONE STAGE

PROBLEMS ASSOCIATED WITH EVALUATION OF EXTENSION OF TIME (EOT) CLAIM IN GOVERNMENT PROJECTS

STUDY OF FLOATING BODIES IN WAVE BY USING SMOOTHED PARTICLE HYDRODYNAMICS (SPH) HA CHEUN YUEN UNIVERSITI TEKNOLOGI MALAYSIA

ENHANCING WEB SERVICE SELECTION USING ENHANCED FILTERING MODEL AJAO, TAJUDEEN ADEYEMI

DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM UNIVERSITI TEKNOLOGI MALAYSIA

UNIVERSITI PUTRA MALAYSIA MULTI-LEVEL MOBILE CACHE CONSISTENCY SCHEMES BASED ON APPLICATION REQUIREMENTS DOHA ELSHARIEF MAHMOUD YAGOUB

BORANG PENGESAHAN STATUS TESIS

UNIVERSITI PUTRA MALAYSIA FACE DETECTION TECHNIQUE BASED ON SKIN COLOR AND FACIAL FEATURES

UNIVERSITI PUTRA MALAYSIA PERFORMANCE ENHANCEMENT OF AIMD ALGORITHM FOR CONGESTION AVOIDANCE AND CONTROL

UNIVERSITI PUTRA MALAYSIA IMPROVED MULTICROSSOVER GENETIC ALGORITHM FOR TWO- DIMENSIONAL RECTANGULAR BIN PACKING PROBLEM MARYAM SARABIAN FS

PERFOMANCE ANALYSIS OF SEAMLESS VERTICAL HANDOVER IN 4G NETWOKS MOHAMED ABDINUR SAHAL

UNIVERSITI PUTRA MALAYSIA LAYER OVER MULTI-HOP AD-HOC NETWORKS FK

UNIVERSITI PUTRA MALAYSIA AN INTEGRATED FIREWALL SYSTEM MODEL IN A MULTICLIENT- SERVER ENVIRONMENT HUSSEIN A. TAQI AL-KAZWINI FK

UNIVERSITI PUTRA MALAYSIA A MATRIX USAGE FOR LOAD BALANCING IN SHORTEST PATH ROUTING NOR MUSLIZA MUSTAFA FSKTM

UNIVERSITI PUTRA MALAYSIA GRAPHICAL USER INTERFACE LAYOUT LANGUAGE USING COMBINATORS KHAIRUL AZHAR KASMIRAN FSKTM

SLANTING EDGE METHOD FOR MODULATION TRANSFER FUNCTION COMPUTATION OF X-RAY SYSTEM FARHANK SABER BRAIM UNIVERSITI TEKNOLOGI MALAYSIA

SMART AQUARJUM (A UTOMATIC FEEDING MACHINE) SY AFINAZ ZURJATI BINTI BAHARUDDIN

UNIVERSITI PUTRA MALAYSIA EFFECTS OF DATA TRANSFORMATION AND CLASSIFIER SELECTIONS ON URBAN FEATURE DISCRIMINATION USING HYPERSPECTRAL IMAGERY

DEVELOPMENT OF SPAKE S MAINTENANCE MODULE FOR MINISTRY OF DEFENCE MALAYSIA SYED ARDI BIN SYED YAHYA KAMAL UNIVERSITI TEKNOLOGI MALAYSIA

Signature :.~... Name of supervisor :.. ~NA.lf... l.?.~mk.. :... 4./qD F. Universiti Teknikal Malaysia Melaka

Design and Implementation of I2C BUS Protocol on Xilinx FPGA. Meenal Pradeep Kumar

FINITE ELEMENT INVESTIGATION ON THE STRENGTH OF SEMI-RIGID EXTENDED END PLATE STEEL CONNECTION USING LUSAS SOFTWARE MOHD MAIZIZ BIN FISHOL HAMDI

VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS

HERMAN. A thesis submitted in fulfilment of the requirements for the award of the degree of Doctor of Philosophy (Computer Science)

DEVELOPMENT OF VENDING MACHINE WITH PREPAID PAYMENT METHOD AMAR SAFUAN BIN ALYUSI

UNIVERSITI PUTRA MALAYSIA AMTREE PROTOCOL ENHANCEMENT BY MULTICAST TREE MODIFICATION AND INCORPORATION OF MULTIPLE SOURCES ALI MOHAMMED ALI AL SHARAFI

FINGERPRINT DATABASE NUR AMIRA BINTI ARIFFIN THESIS SUBMITTED IN FULFILMENT OF THE DEGREE OF COMPUTER SCIENCE (COMPUTER SYSTEM AND NETWORKING)

MAC PROTOCOL FOR WIRELESS COGNITIVE NETWORK FARAH NAJWA BINTI MOKHTAR

PERFORMANCE OF TRANSMISSION CONTROL PROTOCOL (TCP) CONGESTION CONTROL OVER WIRELESS LINKS USING MODIFIED SNOOP PROTOCOL

UNIVERSITI PUTRA MALAYSIA IMAGE COMPRESSION BASED ON REGION OF INTEREST FOR COMPUTERIZED TOMOGRAPHY IMAGES TARIK FARAJ ALI IDBEAA FK

UNIVERSITI PUTRA MALAYSIA ADAPTIVE METHOD TO IMPROVE WEB RECOMMENDATION SYSTEM FOR ANONYMOUS USERS

A RULE MODELING ENGINE FOR COMPLEX EVENT PROCESSING (A CASE STUDY ON PASSIVE RFID READERS FOR A VIRTUAL SHOPPING MALL)

AMBA AXI BUS TO NETWORK-ON-CHIP BRIDGE NG KENG YOKE UNIVERSITI TEKNOLOGI MALAYSIA

THREE BIT SUBTRACTION CIRCUIT VIA FIELD PROGRAMMABLE GATE ARRAY (FPGA) NOORAISYAH BINTI ARASID B

RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA

UNIVERSITI PUTRA MALAYSIA TERM FREQUENCY AND INVERSE DOCUMENT FREQUENCY WITH POSITION SCORE AND MEAN VALUE FOR MINING WEB CONTENT OUTLIERS

Test Suite Reduction with Selective Redundancy

UNIVERSITI PUTRA MALAYSIA CLASSIFICATION SYSTEM FOR HEART DISEASE USING BAYESIAN CLASSIFIER

MODELLING AND REASONING OF LARGE SCALE FUZZY PETRI NET USING INFERENCE PATH AND BIDIRECTIONAL METHODS ZHOU KAIQING

DESIGN ANALYSIS OF EXTERIOR CAR BODY PART BASTIAN WIBAR BIN MOMANG

LOCALIZING NON-IDEAL IRISES VIA CHAN-VESE MODEL AND VARIATIONAL LEVEL SET OF ACTIVE CONTOURS WITHTOUT RE- INITIALIZATION QADIR KAMAL MOHAMMED ALI

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI

AN INTEGRATED SERVICE ARCHITECTURE FRAMEWORK FOR INFORMATION TECHNOLOGY SERVICE MANAGEMENT AND ENTERPRISE ARCHITECTURE

UNIVERSITI PUTRA MALAYSIA DEVELOPMENT OF CLASS 2 AND CLASS 3 SURGE PROTECTION DEVICES FOR LOW VOLTAGE PROTECTION SYSTEMS

UNIVERSITI PUTRA MALAYSIA EFFICIENT SEQUENTIAL AND PARALLEL ROUTING ALGORITHMS IN OPTICAL MULTISTAGE INTERCONNECTION NETWORK

DESIGN AND IMPLEMENTATION OF A MUSIC BOX USING FPGA TAN KIAN YIAK

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

UNIVERSITI TEKNOLOGI MARA A PROCEDURAL FRAMEWORK FOR EXTENSION OF TIME (EOT) CLAIM SETTLEMENT IN THE MALAYSIAN CONSTRUCTION INDUSTRY

UNIVERSITI PUTRA MALAYSIA WEB CAMERA APPLICATION FOR MOTION DETECTION KOAY SU YEONG FK

UNIVERSITI PUTRA MALAYSIA A WEB-BASED CONTROL AND MONITORING SYSTEM AHMAD ABDUSALAM FIRJANI FK

Transcription:

UNIVERSITI PUTRA MALAYSIA MINIMIZATIONOF TEST CASES AND FAULT DETECTION EFFECTIVENESS IMPROVEMENT THROUGH MODIFIED REDUCTION WITH SELECTIVE REDUNDANCY ALGORITHM SHIMA NIKFAL FSKTM 2007 20

MINIMIZATIONOF TEST CASES AND FAULT DETECTION EFFECTIVENESS IMPROVEMENT THROUGH MODIFIED REDUCTION WITH SELECTIVE REDUNDANCY ALGORITHM By SHIMA NIKFAL Thesis Submitted to the School of Graduate Studies, Universiti Putra Malaysia, in Fulfilment of the Requirements for the Degree of Master of Science December 2007

DEDICATION To My Beloved Father and Mother, My Brother and Sisters ii

ABSTRACT Abstract of thesis presented to the Senate of Universiti Putra Malaysia in fulfilment of the requirement for the degree of Master of Science MINIMIZATION OF TEST CASES AND FAULT DETECTION EFFECTIVENESS IMPROVEMENT THROUGH MODIFIED REDUCTION WITH SELECTIVE REDUNDANCY ALGORITHM By SHIMA NIKFAL December 2007 Chairman: Associate Professor Abdul Azim Abd. Ghani, PhD Faculty: Computer Science and Information Technology In any software development lifecycle, testing is necessary to guarantee the quality of the end product. As software grows, the size of test suites grows too. Due to this grows, maintaining of test suites become more difficult. Therefore, test suite minimization techniques are required to control the test suite size. One way of doing this is by ensuring that the set of test suite includes the important test cases with all redundancies in test cases eliminated. Most test suite minimization techniques remove redundant test cases with respect to a particular coverage criterion at a time. A potential drawback of these techniques is that they may result in loss of test suite coverage with respect to other coverage criteria, thus affecting the ability of reduced test suite in detecting faults. iii

To overcome this weakness, this research objective is to minimize the test suite by selectively including coverage redundancy while improving fault detection effectiveness. To achieve such goal, this research modifies and improves the Reduction with Selective Redundancy (RSR) algorithm. In the modify algorithm, test cases would be selected according to the branch coverage if they covered different branch combination. Then the algorithm gathers all the test cases based on the definition occurrence and def-use pair if they cover same definition occurrence of one variable but they don t cover def-use pair of the same variable. Among these selected test cases, the algorithm identifies the redundant test cases based on definition occurrence, if they cover a similar combination of branch coverage except in one branch and also if the test cases cover a similar definition occurrence. The results show the algorithm used in this research can reduce the test suite size as well as significantly improve the fault detection effectiveness. The fault detection loss of reduced suite size was significantly less than the amount of suite size reduction. Moreover, the results reveal that test suit minimization based on branch combination is effective in term of faults detection. iv

Abstrak tesis yang dikemukakan kepada Senat Universiti Putra Malaysia sebagai memenuhi keperluan untuk ijazah Master Sains ABSTRAK PENGURANGAN KES UJIAN DAN PENAMBAHBAIKAN KEBERKESANAN PENGESANAN KECACATAN MELALUI PERUBAHAN ALGORITMA PENGECILAN DENGAN PEMILIHAN BERLEBIHAN Oleh SHIMA NIKFAL Disember 2008 Pengerusi: Associate Profesor Abdul Azim Abd. Ghani, PhD Fakulti: Sains Komputer dan Teknologi Maklumat Dalam mana-mana kitaran pembangunan perisian, pengujian diperlukan untuk menjamin kualiti produk yang dihasilkan. Apabila berkembangnya perisian, saiz suit ujian perisian juga turut berkembang. Berdasarkan pengembangan ini, penyenggaraan terhadap suit ujian akan menjadi lebih sukar. Sehubungan dengan itu, satu teknik pengurangan suit ujian diperlukan untuk mengawal saiz suit ujian yang dihasilkan. Salah satu cara ialah dengan memastikan setiap suit ujian mengandungi kes pengujian yang terpenting sahaja dan mana yang berulang akan dihapuskan. Kebanyakan teknik pengurangan menghapuskan kes pengujian yang berulang berdasarkan beberapa kriteria liputan yang tertentu. Kelemahan teknik ini ialah ia mungkin mengurangkan liputan suit ujian berdasarkan kriteria liputan tertentu, sekaligus mempengaruhi kebolehan suit ujian untuk mengesan kecacatan. v

Untuk mengatasi kelemahan ini, objektif penyelidikan ini adalah untuk mengurangkan suit ujian dengan membuat pemilihan termasuk keberulangan liputan sementara menambahbaik keberkesanan pengesanan kecacatan. Untuk mencapai objektif tersebut, penyelidikan ini merubah dan menambahbaik teknik pengurangan suit ujian terkini yang dinamakan Pengecilan dengan Pemilihan Berlebihan. Dalam algoritma yang diubah, kes-kes ujian akan dipilih berdasarkan kepada liputan cabang jika ianya meliputi kombinasi cabang yang berbeza. Kemudian algoritma tersebut mengumpul semua kes ujian berdasarkan kepada takrifan kejadian dan pasangan def-use jika ianya meliputi takrifan kejadian satu pembolehubah yang sama, tetapi ianya tidak meliputi pasangan def-use pembolehubah yang sama. Diantara kes ujian terpilih, algoritma tersebut mengenal pasti kes ujian berulang berdasarkan takrifan kejadian jika ianya meliputi kombinasi serupa liputan cabang kecuali dalam satu cabang dan juga jika kes ujian meliputi takrifan kejadian serupa. Keputusan menunjukkan bahawa algoritma yang digunakan dalam penyelidikan ini dapat mengurangkan saiz suit ujian sementara menambahbaik keberkesanan pengesanan kecacatan. Kerugian pengesanan kecacatan untuk saiz suit yang dikurangkan adalah lebih kecil daripada amaun pengurangan saiz suit. Selain daripada itu, keputusan juga mendedahkan bahawa pengurangan suit ujian berdasarkan kepada kombinasi cabang adalah efektif dari segi pengesanan kecacatan. vi

ACKNOWLEDGEMENTS First and foremost I would like to express my deep gratefulness to my parent for providing me the opportunity to continue my master s program and financial support. And I m grateful to my supervisor Associate Professor. Dr. Abdul Azim Abdul Ghani, for his kind assistance, critical advice, encouragement and suggestions during the study and preparation of this thesis. Moreover, I appreciate his encouragement to provide the opportunity to attend several conferences. I truly appreciate the time he devoted in advising me and showing me the proper directions to continue this research and for his openness, honesty and sincerity. I would also like to express my gratitude to my co-supervisor Associate Professor. Hj.Mohd Hassan Selamat, to whom I m grateful for his practical experience and knowledge that made an invaluable contribution to this thesis. I also owe thanks to all of the people who were been willing to provide assistance and give advice. Last but not the least the deepest appreciation goes to my friends Fawzi Elfaidi, Farzaneh Abed and Mr. Mohamad Farid Bin Jaafar for their contentious support and encouragement. Another thank you goes to Ms. Fakariah Hani Mohd Ali for the translation of my abstract into Malay language. vii

APPROVAL I certify that an Examination Committee has met on 7 December 2007 to conduct the final examination of Shima Nikfal on her Master of Science thesis entitled " Minimization of Test Cases and Fault Detection Effectiveness Improvement through modified reduction with selective redundancy Algorithem " in accordance with Universiti Pertanian Malaysia (Higher Degree) Act 1980 and Universiti Pertanian Malaysia (Higher Degree) Regulations 1981. The Committee recommends that the candidate be awarded the degree of Master of Science. Members of the Examination Committee are as follows: Rahmita Wirza O.K Rahmat, PhD Lecturer Faculty of Computer Science and Information Technology Universiti Putra Malaysia (Chairman) Masrah Azrifah Azmi Murad, PhD Lecturer Faculty of Computer Science and Information Technology Universiti Putra Malaysia (Internal Examiner) Rusli Abdullah, PhD Lecturer Faculty of Computer Science and Information Technology Universiti Putra Malaysia (Internal Examiner) Shamsul Sahibuddin, PhD Associate Professor Faculty of Computer Science and Information Technology University of Technology Malaysia (External Examiner) HASANAH MOHD GHAZALI, PhD Professor and Deputy Dean School of Graduate Studies Universiti Putra Malaysia Date: 29 Januari 2008 viii

This thesis was submitted to the Senate of Universiti Putra Malaysia and has been accepted as fulfilment of the requirement for the degree of Master of Science. Members of the Supervisory Committee were as follows: Abdul Azim Abdul. Ghani, PhD Associate Professor Faculty of Computer Science and Information Technology Universiti Putra Malaysia (Chairman) Mohd Hassan Selamat, PhD Lecturer Faculty of Computer Science and Information Technology Universiti Putra Malaysia (Member) AINI IDERIS, PhD Professor and Dean School of Graduate Studies Universiti Putra Malaysia Date: 21 February 2008 ix

DECLARATION I hereby declare that the thesis is based on my original work except for quotations and citations which have been duly acknowledged. I also declare that it has not been previously or concurrently submitted for any other degree at UPM or other institutions. SHIMA NIKFAL Date: x

TABLE OF CONTENTS Page ABSTRACT... iii ABSTRAK v ACKNOWLEDGMENTS... vii APPROVAL... viii DECLERATION х LIST OF TABLES... xiv LIST OF FIGURES... xv LIST OF ABBREVIATIONS... xvii 1 INTRODUCTION... 111 1.1 Background 1 1.2 Problem Statement 4 1.3 Research Objectives 5 1.4 Research Scope 6 1.5 Research Contributions 6 1.6 Thesis Organization 6 2 LITERATURE REVIEW... 88 2.1 Introduction 8 2.2 Software Testing Classifications 8 2.2.1 Black Box Testing Techniques 9 2.2.2 White Box Testing Techniques 12 2.3 Code Coverage Criteria 12 2.3.1 Control Flow Testing 13 2.3.2 Data Flow Testing 16 2.4 Fault Detection Effectiveness 19 2.4.1 Comparison of Mutation-Based with All-Uses Method 20 2.4.2 The Effect of Suite Coverage/Size on Fault Detection Effectiveness 20 2.4.3 Comparison of Data-Flow and Control-Flow Effectiveness 21 2.4.4 Fault Detection based on Product /Testing Process Measures 23 2.4.5 Comparison of Different Control-Flow Effectiveness 24 2.5 Test Case Minimization 25 2.5.1 Automatic Test Analysis for C Minimization 25 2.5.2 Algorithm of Harrold, Gupta and Soffa (HGS) 27 2.5.3 Mega Blocks and Global Dominator Graphs Minimizing Method 29 2.5.4 Ordering the Test Execution Minimization Method 30 2.5.5 Minimizing for Probabilistic Statement Sensitivity Coverage 31 2.5.6 Modified Condition/Decision Coverage Minimization 33 2.5.7 Comparison of Coverage and Distribution Based Minimization 34 2.5.8 Bi-Criteria Minimizing Method 35 2.5.9 Model-Based Minimization Method 36 2.5.10 Test Suite Reduction with Selective Redundancy 37 2.6 Drawback of Previous Works 42 xi

2.7 Summary 45 3 RESEARCH METHODOLOGY... 4646 3.1 Introduction 46 3.2 General Steps of Methodology 46 3.3 Designing the ITS 48 3.3.1 Data Resources 49 3.3.2 Designing the Scanner 50 3.3.3 Constructing Test Suite 50 3.3.4 Analysis of Branch Coverage 51 3.3.5 Analysis of Data Flow Coverage 51 3.4 Developing a Test Suite Minimization Method 51 3.5 Experimental Design 52 3.6 Performance of Evaluation Parameters 53 3.6.1 Size Reduction 53 3.6.2 Fault Loss 54 3.7 Summary 54 4 DESIGNING THE INITIAL TEST SUITE (ITS)... 55 4.1 Introduction 55 4.2 Designing of the Scanner 55 4.3 Constructing the Test Cases 63 4.3.1 Valid and Invalid Classes 64 4.3.2 Designing the Test Cases 65 4.4 Analysis of Branch Coverage 69 4.5 Analysis of Data Flow Coverage 71 4.6 Summary 75 5 MINIMIZATION ALGORITHM... 76 5.1 Introduction 76 5.2 General Description of MRSR Algorithm 76 5.3 Specific Implementation of the MRSR Algorithm 78 5.4 Case Study 84 5.5 Summary 89 6 EXPERIMENTATION, RESULTS AND DISCUSSION... 90 6.1 Introduction 90 6.2 Experiment Setup 90 6.2.1 Subject Programs and Test Case Pools 90 6.2.2 Test Suite Generation 91 6.2.3 The Experiments for the MRSR and RSR Algorithms 92 6.4 Case Study 104 6.4.1 Case Study Using RSR Algorithm 107 6.4.2 Case Study Using the MRSR Algorithm 110 6.5 Summary 114 7 CONCLUSION AND FUTURE WORK... 115 7.1 Conclusion 115 7.2 Future Works 116 xii

BIBLIOGRAPHY... 118 BIODATA OF THE AUTHOR... 124 xiii

LIST OF TABLES Table Page 3.1 Subject Programs 50 4.1 Block Table 62 4.3 Valid and Invalid Classes 66 4.4 Test Cases 68 4.5 Branch Coverage for Test Cases in T 71 4.6 Definition-Use Pair Coverage for Variable X 74 4.7 Definition-Use Pair Coverage for Other Variables 74 4.8 Definition Occurrence for Variables 75 5.1 Selected Test Cases with Respect to Branch Coverage 86 5.2 Definition Occurrence of Variable X 87 5.3 Definition-Use Pair of Variable X 88 5.4 Reduced Suite by the MRSR Algorithm 88 6.1 Experimental Subjects 90 6.2 Results for MRSR and RSR Algorithms 97 6.3 Average Percentage for Size Reduction and Fault Loss 99 6.4 Average Percentage of Size Reduction 103 6.5 Average Percentage of Fault Loss 104 6.6 Branch Coverage Information for Test Cases 106 6.7 Definition-use Pair Coverage Information for Test Cases 106 6.8 More Definition-use Pair Coverage Information for Test Cases 106 6.9 Definition Occurrence for Test Cases 110 xiv

LIST OF FIGURES Figure Page 2.1 Program using for Statement Coverage... 13 2.2 Program using for Branch Coverage... 14 2.3 Data Flow Criteria... 18 2.4 Input/output for RSR algorithm... 37 2.5 RSR Algorithm... 38 2.6 Function to Select the Next Test Case... 39 3.1 General Steps of Methodology 47 3.2 System Architecture 48 3.3 Steps of Designing the ITS 49 3.4 Flowchart of Developed Test Suite Minimization 52 4.1 Scanner (Lexical Analyzer) 56 4.2 Scanning Process 56 4.3 Acceptance of the Token of the Language 57 4.4 Tokenize Code Function 58 4.5 Lex Function 59 4.6 Input Program 60 4.7 Define Valid & Invalid Class Function 65 4.8 Test Case Function 66 4.9 Branch Coverage Function 69 4.10 Data Flow Coverage Function 72 5.1 Input and Output for the MRSR Algorithm 79 5.2 The MRSR Minimization Algorithm 81 xv

6.1 The 8 Experiments for the MRSR and RSR Algorithms 95 6.2 percentage suite size reduction in boxplot format 101 6.3 percentage fault loss in boxplot format 101 6.4 Rent Program 105 xvi

LIST OF ABBREVIATIONS ATAC ATACMIN BVA C-use DC Def EP FPC HGS ITS MC/DC MRSR PC P-use RS RSR PSSC RTC SC T TC USC W.R.T Automatic Test Analysis for C Automatic Test Analysis for C Minimization Boundary Value Analysis Computation Use Decision Coverage Definition Equivalence Partitioning Full Predicate Coverage Harrold Gupta Soffa Initial Test Suite Modified Condition/ Decision Coverage Modified Reduction with Selective Redundancy Primary Criterion Predication Use Reduce Suite Reduction with Selective Redundancy Probabilistic Statement Sensitivity Coverage Redundant Test Case Secondary Criterion Test case Tertiary Criterion Uncovered Secondary Criterion With Respect To xvii

CHAPTER 1 INTRODUCTION 1.1 Background Software development lifecycle involves a series of production activities. These activities create software requirement, generate the software specification and implement the software. During these activities, some errors may occur. Therefore, software should be comprehensively tested to remove errors and to ensure that the software meets its specification. Since, developed software go through maintenance, software may be changed over time. Due to these changes, testing and retesting of software occur continuously during the software development lifecycle. Software testing is a process or a series of processes for analyzing the developed software to make sure that the actual behavior of the software correctly followed its specification. The essence of software testing is to execute the software with a particular set of input and observing the actual software output then comparing the gained output with the expected output. This particular set of program input along with the corresponding expected output is called a test case, while a group of test cases is called as a test suite or a test set. Each existing test case in a test suite covers (exercises) some particular software testing requirements. A software testing requirement can be either Black box (specification based) or White box (code-based). White box requirements contain Statements, Decisions, Definition-use pair coverage. Black box requirements contain the coverage of special input values and output values which are generated from the

specification. A test case is generated normally to cover a particular requirement or set of requirements, while covering more requirement hints that most of the software has been tested. Software grows and evolves, along with growing of the test suites. More test cases are needed due to these progressive changes. Over time, several test cases in a test suite can cover specific requirements which may be covered by other test cases in the test suite. Therefore, the mentioned test cases become redundant considering a particular coverage criterion. For instance, a test case is redundant with respect to statement coverage if it covers a particular set of statements which already have been covered by other test cases in the test suite. However, the same test case may actually not be redundant with respect to another coverage criterion, such as, definition-use pair coverage. Thus, it is important to consider that a test case redundancy is a related property to some specific set of requirements. Since test suites size increases and it can be so large besides, test suites can often be used for retesting the software, the testing process will be so expensive. Due to time and resource limitations for testing the software it is essential to decrease the suites size. A reduction in the size of the test suite decrease both the overhead of maintaining the test suite and also the number of test cases that must be rerun after changes are made to the software. Test suite minimization is one general technique that has been proposed to address the problem of extremely large test suites. 2

Minimization techniques attempt to remove test cases from test suite however, removing the test cases can make a minimized suite weaker than un-minimized suite on detecting fault in software. Therefore a test suite minimization problem is an instance of a more general set-cover problem. Set-cover problem is to find a minimally-sized subset of S, while a collection S of sets covers a particular group of entities, which provides the same amount of entity coverage as the original set S. The set-cover problem has been shown to be NP- Complete (Harrold et al., 1993), and therefore in general, no polynomial-time algorithm exists to optimally solve the minimization problem. Nevertheless, there has been some research works (Black et al., 2004; Horgan and London, 1992) in the area of computing optimally-minimized suites. Most of other research works in minimization has relied on heuristics for computing near-optimal solutions. Jones and Harrold (2003) described two minimization heuristics which are designed specifically to be used in conjunction with the relatively strong modified condition/decision coverage criterion; one algorithm builds a minimized suite incrementally by identifying essential and redundant test cases, while the other algorithm is based on a prioritization technique that simply stops computing before all test cases in a suite have been prioritized. Agrawal (1999) implied a framework for minimization of suites using the notions of mega blocks and global dominator graphs. An algorithm based on a greedy heuristic for reducing the size of a test suite (referred to henceforth as the HGS algorithm) was developed by Harrold et al., (1993). 3

Jeffrey and Gupta (2005) presented an algorithm, named Reduction wit Selective Redundancy (RSR), based on a greedy heuristic to reduce the size of suite with selective redundant test case retain to decrease the loss of fault detection effectiveness. There are two coverage criteria used in RSR algorithm which are Branch coverage and data flow coverage used to identify a redundant test case. The test case becomes redundant if it does not cover any new branch and at the same time does not cover any new Definition-use pair. Therefore, in RSR algorithm if all the branches are covered once, then different combinations of these branches can t be recognized. 1.2 Problem Statement Test suite minimization problem is to find a minimal subset of the test cases in a test suite that exercises the same set of coverage requirements as the original suite. The key idea behind minimization techniques is to remove the test cases in a test suite that have become redundant with respect to the coverage of some particular set of program requirements. On the other hand, the purpose of test cases is to reveal faults in software. By removing test cases from test suite, the minimized suites may be weaker than their non-minimized counterparts on detecting faults in software. Hence, fault detection effectiveness is intuitively a measure of the ability of a test suite to detect faults in software. Therefore, in this thesis, it is attempted to improve the fault detection capabilities of reduced suites without significant effect on suite size reduction. 4

Jeffrey and Gupta (2005) suggested that it is possible to achieve high suite size reduction with little loss in fault detection effectiveness by keeping certain test cases that are redundant with respect to the particular coverage criterion. The RSR algorithm selects test cases considering the most uncovered coverage criterion. Here, if some test cases cover the maximum number of uncovered coverage criterion then among those test cases, one arbitrary test case is selected. The arbitrarily selection affects the ability of fault detection of the test suite reduction. To achieve this goal, test suite sizes will be small but not necessarily minimal with respect to minimization criteria. Since, removing redundant tests from a suite based on one criterion will throw away some important tests that are not redundant according to other criteria in most of the cases. The following is suggested: test suite reduction with the goal of achieving high suite size reduction with little loss in fault detection effectiveness, in general, should incorporate some notion of keeping certain redundant test cases with respect to the particular set of program requirements by which minimization is carried out. 1.3 Research Objectives The main objective of this research is to improve a RSR minimization algorithm to decreasing fault detection effectiveness loss. Details objectives are as follows: To propose Modified RSR (MRSR) algorithm to reduce the test suite size. To improve RSR algorithms to increase fault detection effectiveness. 5

1.4 Research Scope This research is scoped according to the following delimitations: The program under test has been written in C++ language. The program is free from syntax errors. Very simple code has been considered that contains one function with not more than 5 IF statement and each IF statement has one condition not more. Loop, pointer, string and array are not considered. 1.5 Research Contributions Many test suite minimization algorithms have been proposed to minimize the number of test cases existing in a test suite without effecting on the fault detection effectiveness. The main contribution of this research is: A test suite minimization algorithm is developed to produce a reduced suite with a high chance of fault detection, by keeping some redundant test cases 1.6 Thesis Organization This thesis is outlined in 7 chapters. This chapter provides background information about test suite minimization, and explains the problem statement. The objective and contribution of this research is also included in this chapter. Chapter 2 consists of the reviewed literature of the related works. Furthermore the related works to test suite minimization and fault detection effectiveness have been discussed later. Chapter 3 contains a general description of research methodology. It 6

explains the test suite generation, proposed test suite minimization method, experimental design and evaluation methods. Chapter 4 is a detailed description of test suite generation, developing the scanner and developing the test cases and test cases coverage computing. In chapter 5 the improvement of test suite minimization algorithm has been discussed and in it is illustrated that how this method works in later part of the chapter as a case study. In chapter 6 the experimental design and the performance of MRSR algorithm is evaluated, and in the last section comparative analysis has been discussed. Chapter 7 shows the conclusion that summarizes the most important aspects of research. This chapter ends with suggested future works. 7