Mutation testing: practical aspects and cost analysis
|
|
|
- Reynard Blair
- 10 years ago
- Views:
Transcription
1 Mutation testing: practical aspects and cost analysis Macario Polo and Mario Piattini Alarcos Group Department of Information Systems and Technologies University of Castilla-La Mancha (Spain) 1
2 Contents What is mutation testing? Mutation operators Steps of mutation testing Cost reduction Conclusions 2
3 What is mutation testing? The goal of testing is to find faults on the System Under Test (SUT) Thus, a test suite is more or less effective depending on its ability to find faults on the SUT 3
4 A possible SUT To be, or not to be: that is de question: Whether 'tis novler in the mind to sufer The slings and arrows of outrageus fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep; No more; and by a slept to say the end The heart-ache ache and the thousand natural socks That flesh is heir to, 'tis a consummation Deboutly to be wish'd. To die, to sleep; (Hamlet, by William Shakespeare) 4
5 What is mutation testing? If I need to select an English reviewer, maybe I would select that of you who more faults have found Mutation works in this way: A set of mutants are generated from a given SUT A test suite is executed against the original SUT and its mutants The adequacy of the suite is measured in terms of the mutation score 6
6 What is mutation testing? The mutation score measures the ability of the test suite to find faults on the SUT where: K MS( P, T ) = ( M E) P: program under test T: test suite K: number of mutants killed M: number of mutants E: number of functionally-equivalent mutants 7
7 What is mutation testing? Mutants maybe killed or alive A mutant m is killed when it shows a different behavior that P, for one or more t P: t T / f ( mt, ) f ( P, t) Otherwise, the mutant is alive f ( mt, ) = f ( P, t) t T 8
8 What is mutation testing? Each mutant is a copy of the program under test, usually with a small syntactic change, which is interpreted as a fault Mutants with n faults are call n-order mutants 9
9 What is mutation testing? Each mutant is a copy of the program under test, usually with a small syntactic change, which is interpreted as a fault it was a SUT with seeded faults To To To To be, be, be, be, or or or or not not not not to to to to be: be: be: be: that that that that is is is is the the the the question: question: question: question: Whether Whether Whether Whether 'tis 'tis 'tis 'tis nobler nobler nobler nobler in in in in the the the the mind mind mind mind to to to to suffer suffer suffer suffer The The The The slings slings slings slings and and and and arrows arrows arrows arrows of of of of outrageous outrageous outrageous outrageous fortune, fortune, fortune, fortune, Or Or Or Or to to to to take take take take arms arms arms arms against against against against a a a a sea sea sea sea of of of of troubles, troubles, troubles, troubles, And And And And by by by by opposing opposing opposing opposing end end end end them? them? them? them? To To To To die: die: die: die: to to to to sleep; sleep; sleep; sleep; No No No No more; more; more; more; and and and and by by by by a a a a sleep sleep sleep sleep to to to to say say say say we we we we end end end end The The The The heart heart-ache heart ache ache ache and and and and the the the the thousand thousand thousand thousand natural natural natural natural shocks shocks shocks shocks That That That That flesh flesh flesh flesh is is is is heir heir heir heir to, to, to, to, 'tis 'tis 'tis 'tis a a a a consummation consummation consummation consummation Devoutly Devoutly Devoutly Devoutly to to to to be be be be wish'd wish'd. wish'd. To To To To die, die, die, die, to to to to sleep; sleep; sleep; sleep; Mutants with n faults are call n-order mutants 5 It s a 7th-order mutant 10
10 A program and four mutants Version Code Test data (a,b) P (original) Mutant 1 Mutant 2 int sum(int a, int b) { return a + b; } int sum(int a, int b) { return a - b; } int sum(int a, int b) { return a * b; } P M1 M2 (1, 1) (0, 0) (-1, 0) (-1, -1) Mutant 3 int sum(int a, int b) { return a / b; } M3 1 Error Error 1 Mutant 4 int sum(int a, int b) { return a + b++; } M
11 What is mutation testing? Faults are introduced ( seeded ) by mutation operators, and try to imitate actual programmer errors Mutation relies on the Coupling effect : a test suite that detects all simple faults in a program is so sensitive that it also detects more complex faults 12
12 Some mutation operators Operator ABS ACR AOR CRP ROR RSR SDL UOI Description Substitution of a variable x by abs(x) Substitution of a variable array reference by a constant Arithmetic operator replacement (a+b by a-b) Substitution of a constant value Relational operator replacement (A and B by A or B) Return statement substitution (return 5 by return 0) Removal of a sentence Unary operator insertion (instead of x, write x) 13
13 Steps of mutation testing Mutation testing has three main steps: 1. Mutant generation 2. Mutant execution 3. Result analysis 14
14 Mutant generation Almost each executable instruction of the original program can be mutated with several mutation operators Therefore, the number of mutants generated for a normal program may be huge The cost of compilation of all mutants may be also significant 15
15 Mutant generation Offutt et al. (1996): 10 programs from 10 to 48 executable sentences produce from 183 to 3010 mutants Mresa and Botaci (1999): 11 programs with 43,7 LOC produce 3211 mutants One of our experiments: mean of 76,7 LOC produce a mean of 150 mutants 16
16 Mutant generation Java version of Myers (1979) triangle-type problem: 61 LOC, 262 mutants A widely-used mutation tool is MuJava (Ma, Offutt and Kwon, 2005) 17
17 Mutant generation: the MuJava tool Mutants (and operators) Number of mutants per operator Fault introduced Number of mutants Modified sentence 18
18 Mutant generation: the MuJava tool In general, a parser is required to generate mutants: a+b is translated into a-b, a*b, a/b Then, these program versions are compiled MuJava uses Mutant Schemata Generation With some operators, it substitutes (at bytecode level) a+b by a OPERATOR b Then, all the program versions are directly generated with no need of compiling 19
19 Mutant execution In this case, the problem is the huge number of test cases that must be executed: each case is executed against the original program and the mutants. For testing a simple BankingAccount class, with 96 mutants and 300 test cases, 96*300=28,800 executions are required (with at least accesses to the database, etc.) 20
20 Mutant execution All the outputs must be compared to detect which mutants are killed: In the BankingAccount example, the outputs of the 300 test cases with the original and the 96 mutants Actually, killed mutants can be removed for further comparisons 21
21 Mutant execution: MuJava Class under test Test suite Mutants Results area 22
22 Mutant execution: testooj testooj is a relatively user-friendly research tool developed in the University of Castilla- La Mancha Generates test cases in several formats and according to several generation strategies Executes test cases against versions and gives some additional results 23
23 Test suite Mutant execution: testooj Class under test Mutants Test cases Killing matrix 24
24 The killing matrix 25
25 Result analysis The major difficulties appear with the detection of functionally equivalent mutants 26
26 Result analysis A functionally equivalent mutant is a mutant which never will be killed Actually, the fault introduced is not a fault, but a code de-optimization 27
27 Result analysis Mutation operators have different proneness for producing equivalent mutants 28
28 Result analysis The example is an occurrence of the AOIS operator 29
29 Result analysis Detection of equivalent mutants is usually manual Grüen, Schuler and Zeller (2009) report that some equivalent mutants require up to 15 minutes to be detected Offutt and Pan (1997) demonstrated that is possible to automatically detect almost 50% of functionally equivalent mutants if the program under test is annotated with constraints 30
30 Result analysis Once more, the selection of the best mutation operators is essential (this is selective mutation): Replacement of numerical constants Negate jump conditions Replacement of arithmetic operators Omission of method calls (instead of x=foo(), write x=0.0) 31
31 Result analysis Other strategies rely on weak mutation: Strong mutation has three conditions: Reachability (the instruction must be reached) Necessity (once the sentences has been reached, the test case must cause an erroneous state on the mutant) Sufficiency (the erroneous state must be propagated to the output) Instead of observing the output of each test case, the idea of weak mutation is to detect changes in intermediate states (reachability+necessity) 32
32 Cost reduction Summarizing, in mutant generation: Selective mutation (use of the best operators) Mutant Schemata Generation/Mutation at bytecode level In mutant execution: Reduction of the test suite N-order mutation In result analysis: To take advantage of the previous techniques 33
33 Reduction of the test suite The optimal test-suite reduction problem: Given: Test Suite T, a set of test-case requirements r1, r2,..., rn, that must be satisfied to provide the desired test coverage of the program. Problem: Find T T such that T satisfies all ri and ( T T, T satisfies all r T T ) It is NP-hard (no solution in polynomial time): solutions approached with greedy algorithms 34
34 Reduction of the test suite Example: 6 test cases, 7 mutants 35
35 Reduction of the test suite The greedy approach selects the test case killing more mutants T tc2 tc3 tc4 36
36 Reduction of the test suite in testooj Reduced suite 37
37 N-order mutation The idea is to have mutants with more than one fault 38
38 N-order mutation Thus: The number of mutants is closed to half the size of the original suite Each equivalent mutant will be probably combined with a non-equivalent mutant, what implies a reduction of the number of equivalent mutants 39
39 N-order mutation However, there exists the possibility of having a test case that only finds one of the two faults injected 40
40 N-order mutation Algorithms for mutants combination LastToFirst DifferentOperators RandomMix 41
41 LastToFirst First with the last, second with the penultime, etc. AOIS_1-ROR_6, AOIS_10-ROR_4, etc. It gets a half of the original mutant set 42
42 DifferentOperators Combines mutants obtained with different operators Mutants proceeding from the least frequent operator are used more than once 43
43 RandomMix Makes a pure random combination 44
44 Results with benchmark programs 45
45 Results with benchmark programs 46
46 Results with industrial software 47
47 Cost-risk analysis 48
48 Cost-risk analysis 49
49 Conclusions Mutation is an excellent testing technique From the point of view of research, it is mature From the industry point of view, userfriendly tools are required Mutation is also applied at other levels: black-box, components, web services, models 50
50 Mutation testing: practical aspects and cost analysis Macario Polo and Mario Piattini Alarcos Group Department of Information Systems and Technologies University of Castilla-La Mancha (Spain) 51
A framework and a web implementation for combinatorial testing
A framework and a web implementation for combinatorial testing Macario Polo Usaola and Beatriz Pérez Lamancha University of Castilla-La Mancha Paseo de la Universidad, 4 13071-Ciudad Real (Spain) Tel.:
Semantic Mutation Testing Tool in Python
Semantic Mutation Testing Tool in Python Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Software Engineering Submitted By Ramil Gupta (Roll
Gerunds, Participles, and Infinitives
5 7 3 4 All About Gerunds, Participles, and Infinitives ] The words of the world want to make sentences. Gaston Bachelard Introduction Gerunds, participles, and infinitives are formed from verbs, but each
Automatic generation of fully-executable code from the Domain tier of UML diagrams
Abstract. Automatic generation of fully-executable code from the Domain tier of UML diagrams Macario Polo, Agustín Mayoral, Juan Ángel Gómez and Mario Piattini Alarcos Group - Department of Computer Science
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF MINNESOTA BY Sai Charan Raj Chitirala IN PARTIAL
Object-Oriented Testing Capabilities and Performance Evaluation of the C# Mutation System
Object-Oriented Testing Capabilities and Performance Evaluation of the C# Mutation System Anna Derezińska, Anna Szustek Institute of Computer Science, Warsaw University of Technology Nowowiejska 15/19,
MuJava : An Automated Class Mutation System
MuJava : An Automated Class Mutation System Yu-Seung Ma 1, Jeff Offutt 2, and Yong Rae Kwon 1 1 Division of Computer Science Department of Electrical Engineering and Computer Science Korea Advanced Institute
Towards an automated testing framework to manage variability using the UML Testing Profile
Automation of Software Test (AST 09) May 18, Vancouver, Canada Towards an automated testing framework to manage variability using the UML Testing Profile Beatriz Pérez Lamancha Software Testing Centre
Improving Mutation Testing Process of Python Programs
Improving Mutation Testing Process of Python Programs Anna Derezinska and Konrad Hałas Institute of Computer Science, Warsaw University of Technology Nowowiejska 15/19, 00-665 Warsaw, Poland [email protected]
RFID Tool & MRO Tracking...
RFID Tool & MRO Tracking... Technology Programs Enhance Processes and Saves Cost...executive white paper WinWare Incorporated 1955 West Oak Circle Marietta, GA 30062... Phone: 888.419.1399 Fax: 770.419.1968...
TO C O N VERT O R N O T T O C O N VERT... T H AT IS THE QUESTION
REAL WORLD PLANNING IDEAS FOR REAL PEOPLE R O T H I R A S : TO C O N VERT O R N O T T O C O N VERT.... T H AT IS THE QUESTION AN ARTIFEX FINANCIAL GROUP WHITE PAPER DOUG KINSEY, CFP, AIFA, CDFA, PARTNER
Introduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline
Introduction to Software Testing Chapter 8. Building Testing Tools Instrumentation Paul Ammann & Jeff Offutt www.introsoftwaretesting.com Chapter 8 Outline. Instrumentation for Graph and Logical Expression
Test Case Design Techniques
Summary of Test Case Design Techniques Brian Nielsen, Arne Skou {bnielsen ask}@cs.auc.dk Development of Test Cases Complete testing is impossible Testing cannot guarantee the absence of faults How to select
An Empirical Study on the Scalability of Selective Mutation Testing
2014 IEEE 25th International Symposium on Software Reliability Engineering An Empirical Study on the Scalability of Selective Mutation Testing Jie Zhang, Muyao Zhu, Dan Hao, Lu Zhang Key Laboratory of
Judy a mutation testing tool for Java
This is a preprint of an article published in Lech Madeyski, Norbert Radyk: Judy - a mutation testing tool for Java, IET Software, 2010, vol. 4, iss. 1, pp. 32 42. http://dx.doi.org/10.1049/iet-sen.2008.0038
Test case design techniques II: Blackbox testing CISS
Test case design techniques II: Blackbox testing Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing
SQLMutation: A tool to generate mutants of SQL database queries
SQLMutation: A tool to generate mutants of SQL database queries Javier Tuya, Mª José Suárez-Cabal, Claudio de la Riva University of Oviedo (SPAIN) {tuya cabal claudio} @ uniovi.es Abstract We present a
Test case design techniques I: Whitebox testing CISS
Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department
Description of Class Mutation Mutation Operators for Java
Description of Class Mutation Mutation Operators for Java Yu-Seung Ma Electronics and Telecommunications Research Institute, Korea [email protected] Jeff Offutt Software Engineering George Mason University
Object-Oriented Testing Capabilities and Performance Evaluation of the C# Mutation System
Object-Oriented Testing Capabilities and Performance Evaluation of the C# Mutation System Anna Derezińska and Anna Szustek Warsaw University of Technology, Institute of Computer Science Nowowiejska 15/19,
Performance Workload Design
Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles
Tool & MRO Management Technology...
Tool & MRO Management Technology... A Focus on Processes and Saving Cost...executive white paper WinWare Incorporated 1955 West Oak Circle Marietta, GA 30062... Phone: 888.419.1399 Fax: 770.419.1968...
General Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li ([email protected]) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
Assertions Are Strongly Correlated with Test Suite Effectiveness
Assertions Are Strongly Correlated with Test Suite Effectiveness Yucheng Zhang Electrical and Computer Engineering University of British Columbia Vancouver, BC, Canada [email protected] Ali Mesbah Electrical
Test case design techniques I: Whitebox testing CISS
Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch
Towards a Sufficient Set of Mutation Operators for. Structured Query Language (SQL)
Towards a Sufficient Set of Mutation Operators for Structured Query Language (SQL) Donald W. McCormick II Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University in partial
How To Test A Web Based Application Automatically
A General Framework for Testing Web-Based Applications Saeed Abrishami, Mohsen Kahani Computer Engineering Department, Ferdowsi University of Mashhad [email protected] r, [email protected] Abstract Software
Jonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
Experimental Comparison of Concolic and Random Testing for Java Card Applets
Experimental Comparison of Concolic and Random Testing for Java Card Applets Kari Kähkönen, Roland Kindermann, Keijo Heljanko, and Ilkka Niemelä Aalto University, Department of Information and Computer
Language Processing Systems
Language Processing Systems Evaluation Active sheets 10 % Exercise reports 30 % Midterm Exam 20 % Final Exam 40 % Contact Send e-mail to [email protected] Course materials at www.u-aizu.ac.jp/~hamada/education.html
This white paper was written by Csilla Zsigri, The 451 Group, based on the work done by the SmartLM Consortium in business modeling.
THE BUSINESS SIDE OF SOFTWARE LICENSING Although licensing models have evolved with technology innovations, they do not fully satisfy the business issues faced by today s enterprises. The focus of successful
Testing Metrics. Introduction
Introduction Why Measure? What to Measure? It is often said that if something cannot be measured, it cannot be managed or improved. There is immense value in measurement, but you should always make sure
There are 2 approaches to starting a session: the mutation scope can contain a whole codebase or in a single chosen method.
Visual Mutator 2.1 User Manual A1. Overview Visual Mutator is a mutation testing tool and a Visual Studio extension that can be used to verify quality of a test suite in the active solution. It operates
Compiling Object Oriented Languages. What is an Object-Oriented Programming Language? Implementation: Dynamic Binding
Compiling Object Oriented Languages What is an Object-Oriented Programming Language? Last time Dynamic compilation Today Introduction to compiling object oriented languages What are the issues? Objects
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
Comparison of Unit-Level Automated Test Generation Tools
Comparison of Unit-Level Automated Test Generation Tools Shuang Wang and Jeff Offutt Software Engineering George Mason University Fairfax, VA 22030, USA {swangb,offutt}@gmu.edu Abstract Data from projects
Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
Search-based Data-flow Test Generation
Search-based Data-flow Test Generation Mattia Vivanti University of Lugano Lugano, Switzerland [email protected] Andre Mis Alessandra Gorla Saarland University Saarbrücken, Germany {amis,gorla}@cs.uni-saarland.de
Scaling Up Automated Test Generation: Automatically Generating Maintainable Regression Unit Tests for Programs
Scaling Up Automated Test Generation: Automatically Generating Maintainable Regression Unit Tests for Programs Brian Robinson ABB Corporate Research [email protected] Michael D. Ernst University
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Performance Based Evaluation of New Software Testing Using Artificial Neural Network
Performance Based Evaluation of New Software Testing Using Artificial Neural Network Jogi John 1, Mangesh Wanjari 2 1 Priyadarshini College of Engineering, Nagpur, Maharashtra, India 2 Shri Ramdeobaba
Big Data Analytics with MapReduce VL Implementierung von Datenbanksystemen 05-Feb-13
Big Data Analytics with MapReduce VL Implementierung von Datenbanksystemen 05-Feb-13 Astrid Rheinländer Wissensmanagement in der Bioinformatik What is Big Data? collection of data sets so large and complex
Using a Multi-Agent Architecture to Manage Knowledge in the Software Maintenance Process
Using a Multi-Agent Architecture to Manage Knowledge in the Software Maintenance Process Oscar M. Rodríguez 1, Aurora Vizcaíno 2, Ana I. Martínez 1, Mario Piattini 2, Jesús Favela 1 1 CICESE, Computer
Scenario: Optimization of Conference Schedule.
MINI PROJECT 1 Scenario: Optimization of Conference Schedule. A conference has n papers accepted. Our job is to organize them in a best possible schedule. The schedule has p parallel sessions at a given
Test Driven Development
Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce
2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce Program Objective #1 (PO1):Students will be able to demonstrate a broad knowledge
Systems Engineering and Integration for the NSG (SEIN) SharePoint Developer
Systems Engineering and Integration for the NSG (SEIN) SharePoint Developer Location: Multiple Locations US and worldwide Start Date: September 2012 Travel: NGA sites US and worldwide Clearance: TS/SCI
Metamorphic Testing and DSL for Test Cases & Checker Generators
Olympiads in Informatics, 2015, Vol. 9, 75 88 2015 Vilnius University, IOI DOI: http://dx.doi.org/10.15388/ioi.2015.07 75 Metamorphic Testing and DSL for Test Cases & Checker Generators Ryan Ignatius HADIWIJAYA,
Coverage Criteria for Search Based Automatic Unit Testing of Java Programs
ISSN (Online): 2409-4285 www.ijcsse.org Page: 256-263 Coverage Criteria for Search Based Automatic Unit Testing of Java Programs Ina Papadhopulli 1 and Elinda Meçe 2 1, 2 Department of Computer Engineering,
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm Siddharth Chitnis, Madhu Yennamani, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson,
HOTPATH VM. An Effective JIT Compiler for Resource-constrained Devices
HOTPATH VM An Effective JIT Compiler for Resource-constrained Devices based on the paper by Andreas Gal, Christian W. Probst and Michael Franz, VEE 06 INTRODUCTION INTRODUCTION Most important factor: speed
AutoTest: A Tool for Automatic Test Case Generation in Spreadsheets
AutoTest: A Tool for Automatic Test Case Generation in Spreadsheets Robin Abraham and Martin Erwig School of EECS, Oregon State University [abraharo,erwig]@eecs.oregonstate.edu Abstract In this paper we
Convergence of Translation Memory and Statistical Machine Translation
Convergence of Translation Memory and Statistical Machine Translation Philipp Koehn and Jean Senellart 4 November 2010 Progress in Translation Automation 1 Translation Memory (TM) translators store past
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.
Generating Test Suites with Augmented Dynamic Symbolic Execution
Generating Test Suites with Augmented Dynamic Symbolic Execution Konrad Jamrozik 1, Gordon Fraser 2, Nikolai Tillman 3, and Jonathan de Halleux 3 1 Saarland University, Saarbruecken-66123, Germany [email protected]
Prediction of Business Process Model Quality based on Structural Metrics
Prediction of Business Process Model Quality based on Structural Metrics Laura Sánchez-González 1, Félix García 1, Jan Mendling 2, Francisco Ruiz 1, Mario Piattini 1 1 Alarcos Research Group, TSI Department,
Process Models and Metrics
Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers
Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz 2007 03 16
Advanced compiler construction Michel Schinz 2007 03 16 General course information Teacher & assistant Course goals Teacher: Michel Schinz [email protected] Assistant: Iulian Dragos INR 321, 368 64
Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Fault Analysis in Software with the Data Interaction of Classes
, pp.189-196 http://dx.doi.org/10.14257/ijsia.2015.9.9.17 Fault Analysis in Software with the Data Interaction of Classes Yan Xiaobo 1 and Wang Yichen 2 1 Science & Technology on Reliability & Environmental
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
In Spain, 56,030 titles were published in 2014, that is, 0.7% less than in the previous year
26 March 2015 Book Publishing Activity Year 2014 In Spain, 56,030 titles were published in 2014, that is, 0.7% less than in the previous year The majority of the titles published correspond to the subjects
CS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 [email protected] 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
Applying Mutation Testing to Web Applications
Applying Mutation Testing to Web Applications Upsorn Praphamontripong and Jeff Offutt Software Engineering George Mason University, Fairfax, VA, USA [email protected], [email protected] Abstract As our awareness
DATA OBFUSCATION. What is data obfuscation?
DATA OBFUSCATION What data obfuscation? Data obfuscations break the data structures used in the program and encrypt literals. Th method includes modifying inheritance relations, restructuring arrays, etc.
Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine
Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine Maximiliano Miranda and Federico Peinado Departamento de Ingeniería
Empirically Identifying the Best Genetic Algorithm for Covering Array Generation
Empirically Identifying the Best Genetic Algorithm for Covering Array Generation Liang Yalan 1, Changhai Nie 1, Jonathan M. Kauffman 2, Gregory M. Kapfhammer 2, Hareton Leung 3 1 Department of Computer
A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions
BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 59, No. 1, 2011 DOI: 10.2478/v10175-011-0015-0 Varia A greedy algorithm for the DNA sequencing by hybridization with positive and negative
Model based testing tools. Olli Pekka Puolitaival
Model based testing tools Olli Pekka Puolitaival Index 1. Software testing evolution 2. model based testing (MBT): main idea 3. MBT: step by step 4. MBT: tools 5. Questions Software testing evolution model
Formal Methods for Software Development
Formal Methods for Software Development Till Mossakowski, Lutz Schröder 20.10.2004 2 Overview of this Lecture MMISS Software Development and Formal Specification Overview of the course Scheinkriterien
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS Manas Kumar 1, S. Senthil kumar 2 and D. Sarvanan 3 1 M.C.A. (Final Year) Abstract Sql injection: a recently discovered application
A Brief Study of the Nurse Scheduling Problem (NSP)
A Brief Study of the Nurse Scheduling Problem (NSP) Lizzy Augustine, Morgan Faer, Andreas Kavountzis, Reema Patel Submitted Tuesday December 15, 2009 0. Introduction and Background Our interest in the
Java Generation from UML Models specified with Alf Annotations
Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier
Mutation testing of ASP.NET MVC
dr Anna Derezińska, Piotr Trzpil Institute of Computer Science Faculty of Electronics and Information Technology Warsaw University of Technology e-mail [email protected] Mutation testing of ASP.NET
Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement
Software Quality Engineering Slide (Ch.12) 1 Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement Jeff Tian, [email protected] www.engr.smu.edu/ tian/sqebook Chapter 12.
How to make the computer understand? Lecture 15: Putting it all together. Example (Output assembly code) Example (input program) Anatomy of a Computer
How to make the computer understand? Fall 2005 Lecture 15: Putting it all together From parsing to code generation Write a program using a programming language Microprocessors talk in assembly language
