[PDF] muupi: An Abstract Syntax Tree Based Mutation Testing Tool for





Previous PDF Next PDF



BMI CALCULATOR

ABSTRACT: The BMI Calculator App is a software application which avoids The project was developed in Android using JAVA which Graphical User Interface.



Introduction to Programming Using Java

6.7.4 A Simple Calculator . 10.1.3 Generic Programming in Java . ... Introduction to Programming Using Java is a free introductory computer programming.



ZCMGenerator: Framework for Generating Zakat Calculation Models

Abstract— In these days the ZCP (Zakat calculation platforms) form a necessary tool and This application has been developed using the Java program-.



Temperature Calculator

demonstration program above also demonstrates the use of Java In summary to be able to program for change



muupi: An Abstract Syntax Tree Based Mutation Testing Tool for

21-Mar-2017 muupi: An Abstract Syntax Tree Based Mutation Testing Tool for Python ... a calculator program [11] which is implemented in Python 2.x.



pocketbrain: Matrix calculator application

In an experiment a few matrix calculators were tested for error using their inverse function. A Java program and an online calculator called Wims use fractions 



A calculator program using Object Oriented Data Structures

09-Nov-2007 In support of that goal we will implement our design in Python. While missing a few of the advanced features of Java



Object Oriented Programming with Java Lab Exercise sand

named draw () and erase (). Create these using polymorphism concepts. 5.2 Write a program to give a simple example for abstract class.



Solutions to Exercises

JDK that makes it possible to run Java programs independently of whether or Interfaces and abstract classes differ in that interfaces can only declare.



Problem Solving with Algorithms and Data Structures

22-Sept-2013 To review the ideas of computer science programming

muupi: An Abstract Syntax Tree Based Mutation Testing Tool for OREGONSTATEUNIVERSITYmuupi: An Abstract Syntax Tree Based

Mutation Testing Tool for Python 2.x

ProgramsAuthor:

Xin LiuSupervisor:

Dr. Alex Groce

A masters project presented to the

FACULTY OF THE OSU GRADUATE SCHOOL

OREGON STATE UNIVERSITY

in partial fulfillment of the requirements for the degree of Master of Science in the School of Electrical Engineering and Computer Science

March 21, 2017

iii

Declaration of Authorship

I, Xin Liu, declare that this research paper titled, "muupi: An Abstract Syntax Tree Based Mutation Testing Tool for Python 2.x Programs" and the work presented in it are my own. I confirm that: This work was done wholly or mainly while in candidature for a re- search degree at this University. Where any part of this thesis has previously been submitted for a de- gree or any other qualification at this University or any other institu- tion, this has been clearly stated. Where I have consulted the published work of others, this is always clearly attributed. Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work.

I have acknowledged all main sources of help.

Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed myself.

Signed:Date:

v

OREGON STATE UNIVERSITY

Abstract

Faculty Name

School of Electrical Engineering and Computer Science

Master of Science

muupi: An Abstract Syntax Tree Based Mutation Testing Tool for Python

2.x Programs

by Xin Liu vi Mutation testing is one of the effective approaches measuring test adequacy of test suites. It is widely used in both academia and industry. Unfortu- nately, the adoption and practical use of mutation testing for Python 2.x pro- grams face three obstacles. First, limited useful mutation operators. Existing mutation testing tools support very limited amount of mutation operators, which also limits the use of mutation testing strategy in research or practi- cal projects. Second, no consideration for Python specific language features. Current mutation operators are only designed based on traditionally struc- tural mutation testing. Third, coarse-grained mutation design. To measure test adequacy of a set of test suite more precisely, finer-grained mutation op- erator design is required. In this paper, muupi is introduced as a new mutation testing tool for Python

2.xprograms. Itintegratesarichersetofnewlydesignedmutationoperators,

which make it possible to obtain both the capability of fine-grained mutation and the flexibility of mutation operator extension. vii

Acknowledgements

Firstly, I would like to express my sincere gratitude to my advisor Dr. Alex Groce for the continuous support of my Master study and related research, for his patience, motivation, and immense knowledge. His guidance helped me in all the time of research and writing of this paper. Besides my advisor, I would like to thank the rest of my committee: Dr. Prasad Tadepalli and Dr. Mike Bailey, for their insightful comments and encouragement, but also for the hard questions which incent me to widen my research from various perspectives. My sincere thanks also goes to my fellow doctoral and master students for their feedback, cooperation and of course friendship. A very special grati- tude goes out to Kazuki Kaneoka. We had many wonderful discussions on our projects and shared ideas with each other. Last but not the least, I would like to thank my parents, who have provided me through moral and emotional support in my life.

Thanks for all your encouragement.

ix

Contents

Declaration of Authorship

iii

Abstract

vi

Acknowledgements

vii

1 Introduction

1

1.1 Basic Concepts

1

1.1.1 Mutation Testing

1

1.1.2 Dynamic Programming Language

2

1.1.3 Abstract Syntax Tree

3

1.2 Related Works

3

2 Mutation Operators in Muupi

5

2.1 Value Mutation Operators

5

2.1.1 Constant Replacement - CRP

6

2.1.2 Constant Deletion - CDL

6

2.2 Operator Mutation Operators

7

2.2.1 Arithmetic Operator Deletion - AOD

7

2.2.2 Arithmetic Operator Replacement - AOR

7

2.2.3 Assignment Operator Replacement - ASR

8

2.2.4 Bitwise Operator Deletion - BOD

9

2.2.5 Bitwise Operator Replacement - BOR

9

2.3 Decision/Condition Mutation Operations

9 x

2.3.1 Logical Operator Deletion - LOD

10

2.3.2 Logical Operator Insertion - LOI

10

2.3.3 Logical Connector Replacement - LCR

10

2.3.4 Relational Operator Replacement - ROR

11

2.4 Statement Mutation Operators

11

2.4.1 Break Continue Replacement - BCR

11

2.4.2 Statement Deletion - SMD

12

2.4.3 Finally Handler Deletion - FHD

12

2.4.4 Exception Disabling - EXD

13

2.4.5 One Iteration Loop - OIL

13

2.4.6 Reverse Iteration Loop - RIL

14

2.4.7 Zero Iteration Loop - ZIL

14

2.5 Python Specific Mutation Operators

15

2.5.1 Slice Start Index Deletion - SSID

15

2.5.2 Slice End Index Deletion - SEID

15

2.5.3 Slice Step Index Deletion - STID

16

2.5.4 Self Variable Deletion - SVD

16

3 Muupi Architecture and Workflow

17

3.1 Muupi Architecture

17

3.1.1 Command Parser

17

3.1.2 Operator Generator

18

3.1.3 Utilities

19

3.1.4 Mutant Generator

19

3.1.5 Test Runner

20

3.2 Mutation Workflow

20

4 Example: Calculator

23

5 Conclusion and Future Work

27
xi

Bibliography

29
xiii

List of Figures

1.1 Mutation-Testing

2

1.2 AST-DEMO

3

2.1 CRP-NUM

6

2.2 CRP-STR

6

2.3 CDL

quotesdbs_dbs2.pdfusesText_2
[PDF] abstract interface in java examples

[PDF] academic ranking of world universities 2019

[PDF] academic report example uk

[PDF] academy for ads account

[PDF] accent sur clavier acer

[PDF] accent sur majuscule word pdf

[PDF] accents clavier qwerty windows 10

[PDF] acceptable fonts for apa

[PDF] accès à l'information canada

[PDF] accessible design standards for railway stations

[PDF] accessing interface variables in java in hindi

[PDF] accolade latex texte

[PDF] accord de paris pdf

[PDF] accord du participe passé avec avoir

[PDF] accounting transactions exercises with answers pdf