Repair & Refactoring
|
|
- Osborne Cunningham
- 5 years ago
- Views:
Transcription
1 S C I E N C E P A S S I O N T E C H N O L O G Y Repair & Refactoring Birgit Hofer Institute for Software Technology 1 u
2 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 2
3 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 3
4 4 Traffic Light Example 1. public static void test () { 2. TrafficLight tl = new TrafficLight(0); // initializes tl.state=0; 3. int i = 0; 4. int finalstate; 5. while (i < 5) { 6. tl.printstate(); 7. if (tl.state == 0) { 8. tl.state = 1; 9. } else { 10. if (tl.state == 1) { 11. tl.state = 2; 12. } else { 13. if (tl.state == 2) { 14. tl.state = 3; 15. } else { 16. tl.state = 3; // should be tl.state = 0; 17. } 18. } 19. } 20. i++; 21. } 22. tl.printstate(); 23. finalstate = tl.state; 24. }
5 Traffic Light Example Hints for the solution #FACTS eq(not_intrace_0,0) # initialization eq(finalstate_0,1) # expected output value eq(state_0,0) # input Intrace variables WHILEs are control-dependent of the previous WHILE The IF in Line 7 is control-dependent on the previous WHILE Each other IF is control-dependent on the previous IF. Lines 8/11/12/16 are control-dependent on the previous IF Line 20 is control-dependent on the previous WHILE Line 23 is control-dependent on intrace_0. 5
6 Traffic Light Example How many single fault solutions do you get? Do you get a solution if you set the watchsumgeq/leg of the AB variables to 0? Would it help if you add more facts to the constraints system, e.g. state_2=2? 6
7 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 7
8 Visualization Design & Maintenance Support Static Analysis Modeling Spreadsheet Quality Assurance Techniques Debugging Fault localization Spectrumbased Model-based Testing Repair Genetic Source: Jannach et al. Avoiding, Finding and Fixing Spreadsheet Errors A Survey of Automated Approaches for Spreadsheet QA, in Journal of Systems and Software, Visualization: Patrick Koch,Diploma Seminar, TU Graz,
9 Genetic Programming Evolutionary methodology to find computer programs that perform a user-defined task 9
10 Principles of Genetic Programming (GP) Evolution Mutation Cross-over Survival of the fittest Fitness function, e.g., test cases 10
11 Program Representation in GP + - * 8 / y - x 2 8 x / 2 + y * (-3) 3 11
12 Mutation * 8 / y - x x / 2 + y * (-3) 3 12
13 Crossover * 8 / y - x x / 2 + y * x (-3) / 2 13
14 Crossover 2 Mutant 1 Mutant / x 3 x 2 14
15 Crossover 3 Crossing back Original program - Mutant - 8 / x 3 x 2 15
16 Genetic Programming - Workflow 16 Source: Patrick W. Koch: Framework for Automated Spreadsheet Debugging conducting Evolutionary Strategies, Master-Project, 2013.
17 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 17
18 Genetic Programming For Automated Software Repair Faulty program AST (abstract syntax tree) Copy Copy Copy 1 Copy 2 1 n Test cases Evaluation (Fitness) Elimination Copy Copy 1 Copy 2 Mutant 1 n Copy 1 Mutant n 18 Source: Forrest et al.: A Genetic Programming Approach to Automated Software Repair, GECCO, 2009.
19 Genetic Programming For Automated Software Repair Faulty program AST (abstract syntax tree) Copy Copy Copy 1 Copy 2 1 n Test cases Evaluation (Fitness) Elimination Copy Copy 1 Copy 2 Mutant 1 n Copy Mutant 1 n Minimized Solution 19 Source: Forrest et al.: A Genetic Programming Approach to Automated Software Repair, GECCO, 2009.
20 Smart statement selection for mutation Weighted path Statement visited by Negative TC 1.0 Positive and negative TC 0.1 Positive TC 0.0 Finer-grained selection possible Do you have ideas for a finer selection? 20
21 Mutation operators Delete statement Insert statement Swap statements 21
22 GCD Example Test case gcc(0,55) 22 Source: Weimer et al.: automatically finding patches using genetic programming, ICSE, 2009.
23 GCD Example Program passes test case We need more test cases Test case gcc(0,55) gcc(1071,1029) 23 Source: Weimer et al.: automatically finding patches using genetic programming, ICSE, 2009.
24 Test Cases and Fitness Function Negative Test Cases Characterize the fault Positive Test Cases Encode the functionality requirements Fitness Function The more passing test cases - the better the score All test cases pass repair found 24
25 GCD Example Primary Repair Test case gcc(0,55) gcc(1071,1029) 25 Source: Weimer et al.: automatically finding patches using genetic programming, ICSE, 2009.
26 The Zune Bug Test cases 26 Source: Forrest et al.: A Genetic Programming Approach to Automated Software Repair, GECCO, 2009.
27 The Zune Bug Possible Mutations 27
28 The Zune Bug Solution 28
29 ASTOR Automatic Software Transformation for program Repair Tool for automatically repairing Java programs Under GPL v2 (GNU General Public License) Uses Spoon (library for Java code analysis and manipulation) 29 Source: Martinez and Monperrrus: ASTOR - Evolutionary Automatic Software Repair for Java, Technical Report hal , Inria, 2014
30 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 30
31 GP for Spreadsheets Mutations Constants Change Boolean values Permutate digits Increase / decrease number by 1 Use a random number Change sign References Increase/decrease the borders of areas Change a single reference Formulas Replace a binary operator with another binary operator A1+A2 A1-A2 Replace a formula with another formula which can process the same arguments SUM(A1:A4) AVG(A1:A4) Remove parts of a formula A3+A4*3 A3*3 Relocate parts of a formula if(a1>1;a2;a3) if(a1>1;a3;a2) 31
32 Genetic Programming for Spreadsheet Repair I 32
33 Genetic Programming for Spreadsheet Repair II 33
34 Genetic Programming for Spreadsheets 34
35 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming Refactoring Exam 35
36 Refactoring Process of changing the internal structure of a program without changing the functionality 36
37 How does refactoring contribute to the quality of spreadsheets? 37
38 BumbleBee f1 f2 SUM(R)/COUNT(R) AVERAGE(R) Parameterized references via variables A1+A2+A3 SUM(A1:A3) {i,j} + {i,j+1} SUM({i,j}:{j,j+1}) Areas {i,j}+ +{m,n} SUM({i,j}:{m,n}) Source: Hermans and Dig: BumbleBee: A Refactoring Environment for Spreadsheet Formulas, FSE
39 TableProg 39 Source: Harris and Gulwani: Spreadsheet Table Transformations from Examples, PLDI, 2011.
40 TableProg 40 Source: Harris and Gulwani: Spreadsheet Table Transformations from Examples, PLDI, 2011.
41 TableProg 41 Source: Harris and Gulwani: Spreadsheet Table Transformations from Examples, PLDI, 2011.
42 Outline Model-based Software Debugging o Traffic Light Example Repair o Genetic programming o Software (C, Java) o Spreadsheets Refactoring Exam 42
43 Exam General List Fault Types List Quality Assurance Techniques (+ subcategories) Explain R1C1 cell reference system Static Code Analysis techniques Explain the terms Code Smells and Refactoring List, explain and identity Software/Spreadsheet Code Smells List and explain Static Spreadsheet Analysis Techniques (UCheck, ) Spectrum-based fault localization Explain and apply SFL to software snippets and spreadsheets Explain the terms o Observation matrix o Error vector o Similarity coefficient o Best/worst/average case ranking o Cone 43
44 Exam Model-based fault localization List + explain all parts of diagnosis problem Explain the terms o Conflict / Conflict set o Diagnosis / Minimal diagnosis o Hitting Set / Minimal hitting set o SSA form Solve simple examples via conflicts and hitting sets (hardware, simple software) Write (in pseudo code) a dependency-/value-based model for a given spreadsheet Explain how to compute double fault diagnoses List, explain and compare (+/-) the different types of behavior models Explain how to derive a dependency-based model from a value-based model (+ apply by means of an example) Explain coincidental correctness + list examples Explain how MBSD for Software works Compare SFL with MBSD w.r.t. complexity, granularity, input, result 44
45 Exam Automatic repair Explain the terms o Genetic Programming o Mutation (+ list different types) o Crossover (+ list / explain different types) o Fitness function Explain how automatic repair with genetic programming works for software/spreadsheets 45
46 Haven t you had enough of spreadsheets yet? Master Project Diploma Thesis 46
47 Thank you for participating in this lecture. Are there any suggestions/wishes for changes/improvements? 47
Model-based Software Debugging. Part III
S C I E N C E P A S S I O N T E C H N O L O G Y Part III Birgit Hofer Institute for Software Technology 60 u www.tugraz.at Outline Model-based debugging for Spreadsheets o Dependency-based models Model-based
More informationModel-based Software Debugging
S C I E N C E P A S S I O N T E C H N O L O G Y Birgit Hofer Institute for Software Technology 1 u www.tugraz.at 2 Visualization Design & Maintenance Support Static Analysis Modeling Spreadsheet Quality
More informationTalking about apples and oranges
S C I E N C E P A S S I O N T E C H N O L O G Y Talking about apples and oranges Static analysis techniques Part II Birgit Hofer Institute for Software Technology 1 u www.tugraz.at Risk comes from not
More informationAutomatically Finding Patches Using Genetic Programming
Automatically Finding Patches Using Genetic Programming Authors: Westley Weimer, ThanhVu Nguyen, Claire Le Goues, Stephanie Forrest Presented by: David DeBonis, Qi Lu, Shuang Yang Department of Computer
More informationWhy does my spreadsheet compute wrong values?
S C I E N C E P A S S I O N T E C H N O L O G Y Why does my spreadsheet compute wrong values? Birgit Hofer, and Franz Wotawa Graz University of Technology, Austria 25th 1 IEEE Int. Symposium on Software
More informationOn the Empirical Evaluation of Fault Localization Techniques for Spreadsheets
On the Empirical Evaluation of Fault Localization Techniques for Spreadsheets Birgit Hofer, Franz Wotawa, Elisabeth Getzner André Riboira, Rui Abreu 1 Spreadsheet Debugging Spreadsheet users outnumber
More informationA Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each
A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 Each Claire Le Goues (Virginia), Michael Dewey-Vogt (Virginia), Stephanie Forrest (New Mexico), Westley Weimer (Virginia)
More informationFixing software bugs in 10 minutes or less using evolutionary computation
Fixing software bugs in 10 minutes or less using evolutionary computation University of New Mexico Stephanie Forrest ThanhVu Nguyen University of Virginia Claire Le Goues Westley Weimer Summary of method
More informationProgram Synthesis. SWE 795, Spring 2017 Software Engineering Environments
Program Synthesis SWE 795, Spring 2017 Software Engineering Environments Today HW3 is due next week in class! Part 1 (Lecture)(~50 mins) Break! Part 2 (Discussion)(~60 mins) Discussion of readings Part
More informationUsing Execution Paths to Evolve Software Patches
Using Execution Paths to Evolve Software Patches ThanhVu Nguyen*, Westley Weimer**, Claires Le Gouges**, Stephanie Forrest* * University of New Mexico ** University of Virginia Tuesday, March 31, 2009
More informationAutomatically Finding Patches Using Genetic Programming. Westley Weimer, Claire Le Goues, ThanVu Nguyen, Stephanie Forrest
Automatically Finding Patches Using Genetic Programming Westley Weimer, Claire Le Goues, ThanVu Nguyen, Stephanie Forrest Motivation Software Quality remains a key problem Over one half of 1 percent of
More informationAutomated Program Repair
#1 Automated Program Repair Motivation Software maintenance is expensive Up to 90% of the cost of software [Seacord] Up to $70 Billion per year in US [Jorgensen, Sutherland] Bug repair is the majority
More informationAn Unsystematic Review of Genetic Improvement. David R. White University of Glasgow UCL Crest Open Workshop, Jan 2016
An Unsystematic Review of Genetic Improvement David R. White University of Glasgow UCL Crest Open Workshop, Jan 2016 A Systematic Study of GI is currently under preparation. Justyna Petke Mark Harman Bill
More informationAutomatically Finding Patches Using Genetic Programming
Automatically Finding Patches Using Genetic Programming Westley Weimer, Stephanie Forrest, Claire Le Goues, ThanVu Nguyen, Ethan Fast, Briana Satchell, Eric Schulte Motivation Software Quality remains
More informationSemFix: Program Repair via Semantic Analysis. Ye Wang, PhD student Department of Computer Science Virginia Tech
SemFix: Program Repair via Semantic Analysis Ye Wang, PhD student Department of Computer Science Virginia Tech Problem Statement Debugging takes much time and effort Even after root cause of a bug is identified,
More informationDynaMoth: Dynamic Code Synthesis for Automatic Program Repair
DynaMoth: Dynamic Code Synthesis for Automatic Program Repair AST 2016 Thomas Durieux & Martin Monperrus March 6, 2017 Inria & University of Lille Automatic test-suite based repair DynaMoth is an automatic
More informationQualitative deviation models vs. quantitative models for fault localization in spreadsheets
Qualitative deviation models vs. quantitative models for fault localization in spreadsheets Birgit Hofer, Iulia Nica, and Franz Wotawa Graz University of Technology, Institute for Software Technology,
More informationEvolutionary Computation. Chao Lan
Evolutionary Computation Chao Lan Outline Introduction Genetic Algorithm Evolutionary Strategy Genetic Programming Introduction Evolutionary strategy can jointly optimize multiple variables. - e.g., max
More informationAutomatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset
Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Dataset Matias Martinez, Thomas Durieux, Romain Sommerard, Jifeng Xuan, Martin Monperrus 1 Automatic Software Repair Automatic
More informationAutomated Documentation Inference to Explain Failed Tests
Automated Documentation Inference to Explain Failed Tests Sai Zhang University of Washington Joint work with: Cheng Zhang, Michael D. Ernst A failed test reveals a potential bug Before bug-fixing, programmers
More informationStatistical Debugging for Real-World Performance Problems
Statistical Debugging for Real-World Performance Problems Linhai Song 1 and Shan Lu 2 1 University of Wisconsin-Madison 2 University of Chicago What are Performance Problems? Definition of Performance
More informationSearching for Program Invariants using Genetic Programming and Mutation Testing
Searching for Program Invariants using Genetic Programming and Mutation Testing Sam Ratcliff, David R. White and John A. Clark. The 13th CREST Open Workshop Thursday 12 May 2011 Outline Invariants Using
More informationEvaluating and Improving Fault Localization
Evaluating and Improving Fault Localization Spencer Pearson, Jose Campos*, Rene Just, Gordon Fraser*, Rui Abreu, Michael D. Ernst, Deric Pang, Benjamin Keller University of Massachusetts University of
More informationLEVERAGING LIGHTWEIGHT ANALYSES TO AID SOFTWARE MAINTENANCE ZACHARY P. FRY PHD PROPOSAL
LEVERAGING LIGHTWEIGHT ANALYSES TO AID SOFTWARE MAINTENANCE ZACHARY P. FRY PHD PROPOSAL MAINTENANCE COSTS For persistent systems, software maintenance can account for up to 90% of the software lifecycle
More informationEvolving Human Competitive Research Spectra-Based Note Fault Localisation Techniques
UCL DEPARTMENT OF COMPUTER SCIENCE Research Note RN/12/03 Evolving Human Competitive Research Spectra-Based Note Fault Localisation Techniques RN/17/07 Deep Parameter Optimisation for Face Detection Using
More informationStatistical Debugging for Real-World Performance Problems. Linhai Song Advisor: Prof. Shan Lu
Statistical Debugging for Real-World Performance Problems Linhai Song Advisor: Prof. Shan Lu 1 Software Efficiency is Critical No one wants slow and inefficient software Frustrate end users Cause economic
More informationHeuristic Optimisation
Heuristic Optimisation Part 10: Genetic Algorithm Basics Sándor Zoltán Németh http://web.mat.bham.ac.uk/s.z.nemeth s.nemeth@bham.ac.uk University of Birmingham S Z Németh (s.nemeth@bham.ac.uk) Heuristic
More informationSmelling Faults in Spreadsheets
Smelling Faults in Spreadsheets Rui Abreu Universidade do Porto, Portugal Email: rui@computer.org Pedro Martins Universidade do Minho, Portugal Email: prmartins@di.uminho.pt Jácome Cunha Universidade Nova
More informationQuality Assurance of a Mobile Network Measurement Testbed Through Systematic Software Testing
Quality Assurance of a Mobile Network Measurement Testbed Through Systematic Software Testing Utkarsh Goel, James Espeland, Upulee Kanewala, and Mike P. Wittie SEDE 2016 Motivation Application developers
More informationComparative Analysis of Genetic Algorithm Implementations
Comparative Analysis of Genetic Algorithm Implementations Robert Soricone Dr. Melvin Neville Department of Computer Science Northern Arizona University Flagstaff, Arizona SIGAda 24 Outline Introduction
More informationGenetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions
Genetic programming Lecture Genetic Programming CIS 412 Artificial Intelligence Umass, Dartmouth One of the central problems in computer science is how to make computers solve problems without being explicitly
More informationAutomated Program Repair through the Evolution of Assembly Code
Automated Program Repair through the Evolution of Assembly Code Eric Schulte University of New Mexico 08 August 2010 1 / 26 Introduction We present a method of automated program repair through the evolution
More informationOptimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining
Optimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining R. Karthick Assistant Professor, Dept. of MCA Karpagam Institute of Technology karthick2885@yahoo.com
More informationSpectrum-based Fault Localization: A Pair Scoring Approach
Journal of Industrial and Intelligent Information Vol. 1, No. 4, December 2013 Spectrum-based Fault Localization: A Pair Scoring Approach Patrick Daniel and Kwan Yong Sim Faculty of Engineering, Computing
More informationREPAIRING PROGRAMS WITH SEMANTIC CODE SEARCH. Yalin Ke Kathryn T. Stolee Claire Le Goues Yuriy Brun
REPAIRING PROGRAMS WITH SEMANTIC CODE SEARCH Yalin Ke Kathryn T. Stolee Claire Le Goues Yuriy Brun Iowa State Iowa State Carnegie Mellon UMass Amherst 1 Input: buggy program, tests Output: fixed program
More informationASTOR: A Program Repair Library for Java
ASTOR: A Program Repair Library for Java Matias Martinez University of Lugano, Switzerland Martin Monperrus University of Lille & Inria, France ABSTRACT During the last years, the software engineering
More informationConstraint Handling. Fernando Lobo. University of Algarve
Constraint Handling Fernando Lobo University of Algarve Outline Introduction Penalty methods Approach based on tournament selection Decoders Repair algorithms Constraint-preserving operators Introduction
More informationCS 305j Midterm 2 Fall 2006
Exam Number: Points off 1 2 3 4 5 6 Total off Net Score CS 305j Midterm 2 Fall 2006 Your Name Your UTEID Circle you TA's name: Brad Jacob Instructions: 1. Please turn off your cell phones 2. There are
More informationProgramming Studio #9 ECE 190
Programming Studio #9 ECE 190 Programming Studio #9 Concepts: Functions review 2D Arrays GDB Announcements EXAM 3 CONFLICT REQUESTS, ON COMPASS, DUE THIS MONDAY 5PM. NO EXTENSIONS, NO EXCEPTIONS. Functions
More informationGeometric Semantic Genetic Programming ~ Theory & Practice ~
Geometric Semantic Genetic Programming ~ Theory & Practice ~ Alberto Moraglio University of Exeter 25 April 2017 Poznan, Poland 2 Contents Evolutionary Algorithms & Genetic Programming Geometric Genetic
More informationMINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS
Proceedings of Student/Faculty Research Day, CSIS, Pace University, May 5 th, 2006 MINIMAL EDGE-ORDERED SPANNING TREES USING A SELF-ADAPTING GENETIC ALGORITHM WITH MULTIPLE GENOMIC REPRESENTATIONS Richard
More informationCS5401 FS2015 Exam 1 Key
CS5401 FS2015 Exam 1 Key This is a closed-book, closed-notes exam. The only items you are allowed to use are writing implements. Mark each sheet of paper you use with your name and the string cs5401fs2015
More informationMutation Testing. Leaving the Stone Age
Mutation Testing Leaving the Stone Age 2017 whoami ios Developer by day compiler hacker by night https://twitter.com/1101_debian https://lowlevelbits.org https://systemundertest.org Outline Quality of
More informationAutomatically Repairing Concurrency Bugs with ARC MUSEPAT 2013 Saint Petersburg, Russia
Automatically Repairing Concurrency Bugs with ARC MUSEPAT 2013 Saint Petersburg, Russia David Kelk, Kevin Jalbert, Jeremy S. Bradbury Faculty of Science (Computer Science) University of Ontario Institute
More informationCIS 110 Introduction to Computer Programming. February 29, 2012 Midterm
CIS 110 Introduction to Computer Programming February 29, 2012 Midterm Name: Recitation # (e.g. 201): Pennkey (e.g. bjbrown): My signature below certifies that I have complied with the University of Pennsylvania
More informationIt is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer
Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,
More informationAUTOMATIC PROGRAM REPAIR USING GENETIC PROGRAMMING
AUTOMATIC PROGRAM REPAIR USING GENETIC PROGRAMMING CLAIRE LE GOUES APRIL 22, 2013 http://www.clairelegoues.com 1 GENPROG STOCHASTIC SEARCH + TEST CASE GUIDANCE = AUTOMATIC, EXPRESSIVE, SCALABLE PATCH GENERATION
More informationIMPROVING A GREEDY DNA MOTIF SEARCH USING A MULTIPLE GENOMIC SELF-ADAPTATING GENETIC ALGORITHM
Proceedings of Student/Faculty Research Day, CSIS, Pace University, May 4th, 2007 IMPROVING A GREEDY DNA MOTIF SEARCH USING A MULTIPLE GENOMIC SELF-ADAPTATING GENETIC ALGORITHM Michael L. Gargano, mgargano@pace.edu
More informationEECS 481 Software Engineering Exam #1. You have 1 hour and 20 minutes to work on the exam.
EECS 481 Software Engineering Exam #1 Write your name and UM uniqname on the exam. There are ten (10) pages in this exam (including this one) and seven (7) questions, each with multiple parts. Some questions
More informationResearch Article Combining Slicing and Constraint Solving for Better Debugging: The Conbas Approach
Advances in Software Engineering Volume 2012, Article ID 628571, 18 pages doi:10.1155/2012/628571 Research Article Combining Slicing and Constraint Solving for Better Debugging: The Conbas Approach Birgit
More informationEvolutionary Computation, 2018/2019 Programming assignment 3
Evolutionary Computation, 018/019 Programming assignment 3 Important information Deadline: /Oct/018, 3:59. All problems must be submitted through Mooshak. Please go to http://mooshak.deei.fct.ualg.pt/~mooshak/
More informationCombining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem
Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem Weichen Liu, Thomas Weise, Yuezhong Wu and Qi Qi University of Science and Technology of Chine
More informationA Survey of Approaches for Automated Unit Testing. Outline
A Survey of Approaches for Automated Unit Testing Peter Carr Ron Kneusel Outline Introduction/Motivation Concolic Testing Random Testing Evolutionary Testing Random/Evolutionary Experiment and Results
More informationClassification Using Genetic Programming. Patrick Kellogg General Assembly Data Science Course (8/23/15-11/12/15)
Classification Using Genetic Programming Patrick Kellogg General Assembly Data Science Course (8/23/15-11/12/15) Iris Data Set Iris Data Set Iris Data Set Iris Data Set Iris Data Set Create a geometrical
More informationAPCS Semester #1 Final Exam Practice Problems
Name: Date: Per: AP Computer Science, Mr. Ferraro APCS Semester #1 Final Exam Practice Problems The problems here are to get you thinking about topics we ve visited thus far in preparation for the semester
More informationCrew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)
In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning
More information2. INTRODUCTORY EXCEL
CS130 - Introductory Excel 1 2. INTRODUCTORY EXCEL Fall 2017 CS130 - Introductory Excel 2 Introduction to Excel What is Microsoft Excel? What can we do with Excel? CS130 - Introductory Excel 3 Launch Excel
More informationIntroduction to Artificial Intelligence
Introduction to Artificial Intelligence COMP307 Evolutionary Computing 3: Genetic Programming for Regression and Classification Yi Mei yi.mei@ecs.vuw.ac.nz 1 Outline Statistical parameter regression Symbolic
More informationSpectrum Mutant. Evaluating and Improving Fault Localization
Evaluating and Improving Fault Localization Spencer Pearson Michael Ernst Debugging is expensive Your program has a bug. What do you do? Reproduce it Locate it Focus of this talk Fix it Fault localization
More information(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt
Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing
More informationTowards Practical Program Repair with On-Demand Candidate Generation
Towards Practical Program Repair with On-Demand Candidate Generation The University of Texas at Austin, USA {lisahua,mengshi.zhang,kaiyuanw,khurshid}@utexas.edu ABSTRACT Effective program repair techniques,
More informationB-Refactoring: Automatic Test Code Refactoring to Improve Dynamic Analysis
B-Refactoring: Automatic Test Code Refactoring to Improve Dynamic Analysis Jifeng Xuan, Benoit Cornu, Matias Martinez, Benoit Baudry, Lionel Seinturier, Martin Monperrus To cite this version: Jifeng Xuan,
More informationGenetic Programming. and its use for learning Concepts in Description Logics
Concepts in Description Artificial Intelligence Institute Computer Science Department Dresden Technical University May 29, 2006 Outline Outline: brief introduction to explanation of the workings of a algorithm
More informationGenetic Programming Prof. Thomas Bäck Nat Evur ol al ut ic o om nar put y Aling go rg it roup hms Genetic Programming 1
Genetic Programming Prof. Thomas Bäck Natural Evolutionary Computing Algorithms Group Genetic Programming 1 Genetic programming The idea originated in the 1950s (e.g., Alan Turing) Popularized by J.R.
More informationTransformations. WFLP-2013 September 13, 2013
Over WFLP-2013 September 13, 2013 Over Algorithmic Running for AD FB Informatik und Informationswissenschaft Universität Konstanz Email: claus.zinn@uni-konstanz.de WWW: http://www.inf.uni-konstanz.de/~zinn
More informationEvolutionary Algorithms. CS Evolutionary Algorithms 1
Evolutionary Algorithms CS 478 - Evolutionary Algorithms 1 Evolutionary Computation/Algorithms Genetic Algorithms l Simulate natural evolution of structures via selection and reproduction, based on performance
More informationCOS 126 Midterm 1 Written Exam, Fall 2009
NAME: login ID: precept: COS 126 Midterm 1 Written Exam, Fall 2009 This test has 8 questions, weighted as indicated. The exam is closed book, except that you are allowed to use a one page cheatsheet. No
More information9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation
Language Implementation Methods The Design and Implementation of Programming Languages Compilation Interpretation Hybrid In Text: Chapter 1 2 Compilation Interpretation Translate high-level programs to
More informationCIS 110 Introduction To Computer Programming. February 29, 2012 Midterm
CIS 110 Introduction To Computer Programming February 29, 2012 Midterm Name: Recitation # (e.g. 201): Pennkey (e.g. bjbrown): My signature below certifies that I have complied with the University of Pennsylvania
More informationUse of in-built functions and writing expressions
LECTURE SCHEDULE 9 Use of in-built functions and writing expressions In-built Functions A function is an in-built program, which is used to do a particular task. Functions take the input the input and
More informationWhat is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation
What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a
More informationProject C: Genetic Algorithms
Project C: Genetic Algorithms Due Wednesday April 13 th 2005 at 8pm. A genetic algorithm (GA) is an evolutionary programming technique used to solve complex minimization/maximization problems. The technique
More informationComparative Assessment of Testing and Model Checking Using Program Mutation
Comparative Assessment of Testing and Using Mutation Research Talk Jeremy S. Bradbury, James R. Cordy, Juergen Dingel School of Computing! Queen s University Kingston! Ontario! Canada {bradbury, cordy,
More informationMacro Processing. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 31
Macro Processing Computer Science and Engineering College of Engineering The Ohio State University Lecture 31 Introduction Macro: a notational convenience for programmers Short-hand for commonly used blocks
More informationAN INTRODUCTION TO FUZZY SETS Analysis and Design. Witold Pedrycz and Fernando Gomide
AN INTRODUCTION TO FUZZY SETS Analysis and Design Witold Pedrycz and Fernando Gomide A Bradford Book The MIT Press Cambridge, Massachusetts London, England Foreword - Preface Introduction xiii xxv xxi
More informationAutomating Test Driven Development with Grammatical Evolution
http://excel.fit.vutbr.cz Automating Test Driven Development with Grammatical Evolution Jan Svoboda* Abstract Test driven development is a widely used process of creating software products with automated
More informationAutomatically Repairing Broken Workflows for Evolving GUI Applications
Automatically Repairing Broken Workflows for Evolving GUI Applications Sai Zhang University of Washington Joint work with: Hao Lü, Michael D. Ernst End-user s workflow A workflow = A sequence of UI actions
More informationAutomated Program Debugging Research vs. Prac7ce?
Automated Program Debugging Research vs. Prac7ce? Franz Wotawa Technische Universität Graz Ins2tute for So7ware Technology Inffeldgasse 16b/2, 8010 Graz, Austria wotawa@ist.tugraz.at Some ques7ons asked
More informationLecture 17. For Array Class Shenanigans
Lecture 17 For Array Class Shenanigans For or While? class WhileDemo { public static void main(string[] args){ int count = 1; while (count < 11) { System.out.println("Count is: " + count); count++; Note:
More informationEECS168 Exam 3 Review
EECS168 Exam 3 Review Exam 3 Time: 2pm-2:50pm Monday Nov 5 Closed book, closed notes. Calculators or other electronic devices are not permitted or required. If you are unable to attend an exam for any
More informationMutations for Permutations
Mutations for Permutations Insert mutation: Pick two allele values at random Move the second to follow the first, shifting the rest along to accommodate Note: this preserves most of the order and adjacency
More informationGenetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell
Genetic Programming of Autonomous Agents Functional Description and Complete System Block Diagram Scott O'Dell Advisors: Dr. Joel Schipper and Dr. Arnold Patton October 19, 2010 Introduction to Genetic
More informationGenetic Programming. Modern optimization methods 1
Genetic Programming Developed in USA during 90 s Patented by J. Koza Solves typical problems: Prediction, classification, approximation, programming Properties Competitor of neural networks Need for huge
More informationPortland State University Maseeh College of Engineering and Computer Science. Proficiency Examination Process
Portland State University Maseeh College of Engineering and Computer Science Proficiency Examination Process 2016-2017 PSU Expectations of Student Competencies Students that apply to PSU s Computer Science
More informationUsing Genetic Algorithms to Solve the Box Stacking Problem
Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve
More informationLeveraging Program Equivalence for Adaptive Program Repair: Models and First Results. Westley Weimer, UVA Zachary P. Fry, UVA Stephanie Forrest, UNM
Leveraging Program Equivalence for Adaptive Program Repair: Models and First Results Westley Weimer, UVA Zachary P. Fry, UVA Stephanie Forrest, UNM Automated Program Repair Given a program, a notion of
More informationCOS 126 General Computer Science Fall Exam 1
COS 126 General Computer Science Fall 2005 Exam 1 This test has 9 questions worth a total of 50 points. You have 120 minutes. The exam is closed book, except that you are allowed to use a one page cheatsheet,
More informationA Comparative Study on Mutation Analysis for Java Applications
1 UTM Computing Proceedings Innovation in Computing Technology and Applications Volume: 2 Year: 2017 ISBN: 978-967-0194-95-0 A Comparative Study on Mutation Analysis for Java Applications Nur Zatilzaida
More informationQuestion: Total Points: Score:
CS 170 Exam 1 Section 000 Fall 2014 Name (print): Instructions: Keep your eyes on your own paper and do your best to prevent anyone else from seeing your work. Do NOT communicate with anyone other than
More information6.170 Lecture 7 Abstract Data Types MIT EECS
6.170 Lecture 7 Abstract Data Types MIT EECS Outline 1. What is an abstract data type (ADT)? 2. How to specify an ADT immutable mutable 3. The ADT methodology 2 What is an ADT? Procedural abstraction Abstracts
More informationTesting! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!
Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Goals of this Lecture Help you learn about: Internal testing External testing General
More informationAutoma'c, Efficient, and General Repair of So8ware Defects using Lightweight Program Analyses
Automa'c, Efficient, and General Repair of So8ware Defects using Lightweight Program Analyses Disserta'on Proposal Claire Le Goues September 22, 2010 So8ware Errors Are Expensive Everyday, almost 300 bugs
More informationIntroduction to Scientific Modeling CS 365, Fall Semester, 2011 Genetic Algorithms
Introduction to Scientific Modeling CS 365, Fall Semester, 2011 Genetic Algorithms Stephanie Forrest http://cs.unm.edu/~forrest/classes/cs365 forrest@cs.unm.edu 505-277-7104 Genetic Algorithms" Principles
More informationSoftware security, secure programming
Software security, secure programming Fuzzing and Dynamic Analysis Master on Cybersecurity Master MoSiG Academic Year 2017-2018 Outline Fuzzing (or how to cheaply produce useful program inputs) A concrete
More informationAutomated Program Repair by Using Similar Code Containing Fix Ingredients
Automated Program Repair by Using Similar Code Containing Fix Ingredients Tao Ji, Liqian Chen, Xiaoguang Mao, Xin Yi College of Computer National University of Defense Technology Changsha, China jitao
More informationProgramming. We will be introducing various new elements of Python and using them to solve increasingly interesting and complex problems.
Plan for the rest of the semester: Programming We will be introducing various new elements of Python and using them to solve increasingly interesting and complex problems. We saw earlier that computers
More informationDeriving Trading Rules Using Gene Expression Programming
22 Informatica Economică vol. 15, no. 1/2011 Deriving Trading Rules Using Gene Expression Programming Adrian VISOIU Academy of Economic Studies Bucharest - Romania Economic Informatics Department - collaborator
More informationGenetically Improved BarraCUDA
Genetically Improved BarraCUDA CREST Annual Research Review: Recent Results and Research Trends 15-16 th June 2015 W. B. Langdon Department of Computer Science 15.6.2015 Genetically Improved BarraCUDA
More informationGenetic.io. Genetic Algorithms in all their shapes and forms! Genetic.io Make something of your big data
Genetic Algorithms in all their shapes and forms! Julien Sebrien Self-taught, passion for development. Java, Cassandra, Spark, JPPF. @jsebrien, julien.sebrien@genetic.io Distribution of IT solutions (SaaS,
More informationSearch-Based Software Engineering: Foundations and Recent Applications
Search-Based Software Engineering: Foundations and Recent Applications Ali Ouni Software Engineering Lab, Osaka University, Japan 5th Asian Workshop of Advanced Software Engineering (AWASE 16), 19-20 March,
More information