Overview of SBSE. CS454, Autumn 2017 Shin Yoo

Similar documents
Evolving Human Competitive Research Spectra-Based Note Fault Localisation Techniques

Amortised Optimisation as a Means to Achieve Genetic Improvement

Welcome to CREST. CREST Open Workshop COW. Centre for Research in. Centre for Research in. Evolution, Search & Testing

An Unsystematic Review of Genetic Improvement. David R. White University of Glasgow UCL Crest Open Workshop, Jan 2016

OPTIMIZED TEST GENERATION IN SEARCH BASED STRUCTURAL TEST GENERATION BASED ON HIGHER SERENDIPITOUS COLLATERAL COVERAGE

Field Report: Applying Monte Carlo Tree Search for Program Synthesis

Pareto Optimal Search Based Refactoring at the Design Level

Hybrid Clustering Approach for Software Module Clustering

Research Note. Improving the Module Clustering of a C/C++ Editor using a Multi-objective Genetic Algorithm

Theoretical Foundations of SBSE. Xin Yao CERCIA, School of Computer Science University of Birmingham

Pareto Optimal Search-based Refactoring at the Design Level

SOFTWARE MODULE CLUSTERING USING SINGLE AND MULTI-OBJECTIVE APPROACHES

Software Refactoring Approaches: A Survey

PUBLICATIONS. Journal Papers

Search-Based Software Engineering: Foundations and Recent Applications

Search Based Data Sensitivity Analysis Applied to Requirement Engineering

Search Based Software Engineering

Impact of Dependency Graph in Software Testing

Software Module Clustering using a Fast Multi-objective Hyper-heuristic Evolutionary Algorithm

Automated smart test design! and its applications in! software transplantation, improvement and android testing!

Evolutionary Computation Part 2

Highly Scalable Multi-Objective Test Suite Minimisation Using Graphics Card

Search-Based Software Engineering: 7th International Symposium, SSBSE 2015, Bergamo, Italy, September 5-7, 2015, Proceedings (Lecture Notes In

A Bibliography of Publications of Jingling Xue

Publications related to Chez Scheme

Jun Li, Ph.D. School of Computing and Information Sciences Phone:

Trade-off Between Computational Complexity and Accuracy in Evolutionary Image Feature Extraction

Genetic Improvement of Energy Usage is only as Reliable as the Measurements are Accurate

Doctoral Studies and Research Proposition. Diversity in Peer-to-Peer Networks. Mikko Pervilä. Helsinki 24 November 2008 UNIVERSITY OF HELSINKI

Genetic Programming in the Wild:

Scenario-based Refactoring Selection

Test Case Generation for Classes in Objects-Oriented Programming Using Grammatical Evolution

An agent-based peer-to-peer grid computing architecture

Brian F. Cooper. Distributed systems, digital libraries, and database systems

Multi-Objective Search-based Requirements Selection and Optimisation. by Yuanyuan Zhang

Relating Software Coupling Attribute and Security Vulnerability Attribute

Workshops. 1. SIGMM Workshop on Social Media. 2. ACM Workshop on Multimedia and Security

Testing Django Configurations Using Combinatorial Interaction Testing

Getting the Most from Search-Based Refactoring

2016 Index IEEE Transactions on Network Science and Engineering Vol. 3

Symbolic Evaluation of Sums for Parallelising Compilers

Babel Pidgin: SBSE Can Grow and Graft Entirely New Functionality into a Real World System

A Fitness Function to Find Feasible Sequences of Method Calls for Evolutionary Testing of Object-Oriented Programs

Putting the Developer in-the-loop: an Interactive GA for Software Re-Modularization

Guernsey Post 2013/14. Quality of Service Report

Register Allocation in Just-in-Time Compilers: 15 Years of Linear Scan

A Multi-Objective Genetic Algorithm to Test Data Generation

IMPACT OF DEPENDENCY GRAPH IN SOFTWARE TESTING

Web Application Testing in Fifteen Years of WSE

The CQUIN Learning Network Annual Meeting

HOMI: Searching Higher Order Mutants for Software Improvement

Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV

EDUCATION RESEARCH EXPERIENCE

DiPerF: automated DIstributed PERformance testing Framework

A Method Dependence Relations Guided Genetic Algorithm

DEPARTMENT OF COMPUTER SCIENCE

Degree Branch / Specialization College University CSE SONA COLLEGE OF TECHNOLOGY : ASSISTANT PROFESSOR (SENIOR GRADE) ASSISTANT PROFESSOR

Genetic Algorithms with Mapreduce Runtimes

ANALYTICS FOLDER SHARING

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Web Security Vulnerabilities: Challenges and Solutions

Differential Privacy. Seminar: Robust Data Mining Techniques. Thomas Edlich. July 16, 2017

Part 5. Verification and Validation

Cross-Layer Memory Management to Reduce DRAM Power Consumption

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Sample: n=2,252 national adults, age 18 and older, including 1,127 cell phone interviews Interviewing dates:

A Multi-Objective Approach for QoS-aware Service Composition

Evolving Transformation Sequences using Genetic Algorithms

Lecture Notes on Critique of 1998 and 1999 DARPA IDS Evaluations

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

Efficient Regression Test Model for Object Oriented Software

Assignment1 - CSG1102: Virtual Memory. Christoer V. Hallstensen snr: March 28, 2011

The Relationships between Domain Specific and General- Purpose Languages

Control Flow Analysis with SAT Solvers

Taxonomy Dimensions of Complexity Metrics

A New Crossover Technique for Cartesian Genetic Programming

Refinement of Data-Flow Testing using Ant Colony Algorithm

Multi-objective Ranking based Non-Dominant Module Clustering

Modularity for Genetic Programming. Anil Kumar Saini PhD Student CICS, UMass Amherst

arxiv: v1 [cs.se] 6 Jan 2019

Automated Software Defect Prediction Using Machine Learning

Advanced Slicing of Sequential and Concurrent Programs

6. Concluding Remarks

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

Stavros Nikolaou. 413 Gates Hall URL: Ithaca, NY, 14853, USA Date of Birth: December, 1987

The Essence of Compiling with Continuations

CURRENT RESEARCH ON EXPLORATORY LANDSCAPE ANALYSIS

Optimization with Multiple Objectives

GPU Implementation of a Multiobjective Search Algorithm

ECTA 32 nd Annual Conference

Regression Testing based on Hamming Distance and Code Coverage

DynaMoth: Dynamic Code Synthesis for Automatic Program Repair

A Fair Extension of (Soft) Concurrent Constraint Languages

Verification and Validation

MT2Way Interaction Algorithm for Pairwise Test Data Generation

Ordering attributes for missing values prediction and data classification

Building Apps in the Cloud to reduce costs up to 90%

5- [Banks 99], Jerry Banks, "Introduction to Simulation", Proceedings of the 1999 Winter Simulation Conference, 1999.

Offloading Java to Graphics Processors

Transcription:

Overview of SBSE CS454, Autumn 2017 Shin Yoo

Search-Based Software Engineering Application of all the optimisation techniques we have seen so far, to the various problems in software engineering. Not web search engines :( Not code search :(

Capture Requirements Generate Tests Explore Designs Maintain/ Evolve Regression Testing Minimise Cost Development Time Maximise Satisfaction Fairness

Capture Requirements Generate Tests Explore Designs Maintain/ Evolve Regression Testing Minimise # of test cases Execution Time Maximise Code Coverage Fault Detection

Capture Requirements Generate Tests Explore Designs Maintain/ Evolve Regression Testing Minimise Coupling Maximise Cohesion

Capture Requirements Generate Tests Explore Designs Maintain/ Evolve Regression Testing Minimise Coupling Maximise Cohesion

Capture Requirements Generate Tests Explore Designs Maintain/ Evolve Regression Testing Minimise # of Test Cases Execution Time Maximise Coverage Fault Coverage

Good Starting Points M. Harman. The current state and future of search based software engineering. In FOSE 07: 2007 Future of Software Engineering, pages 342 357,2007. M. Harman, S. A. Mansouri, and Y. Zhang. Searchbased software engineering: Trends, techniques and applications. ACM Computing Surveys, 45(1):11:1 11:61, December 2012.

Cost Estimation Evolve mathematical functions (symbolic regression) that would predict the project development effort based on various input variables. J. J. Dolado. A validation of the component-based method for software size estimation. IEEE Transactions on Software Engineering, 26(10):1006 1021, 2000.

Project Planning Team allocation to project work packages, including the possibility of abandonment (i.e. work no longer needed/ practical) and rework (i.e. additional work needed). G. Antoniol, M. Di Penta, and M. Harman. A Robust Search-based Approach to Project Management in the Presence of Abandonment, Rework, Error and Uncertainty. In Proceedings of the 10th International Symposium on the Software Metrics (METRICS 04), pages 172 183, Chicago, USA, 11-17 September 2004. IEEE Computer Society.

Next Release Problem Find the ideal set of requirements that balances customer requests, resource constraints, and interdependencies between requirements. A. Bagnall, V. Rayward-Smith, and I. Whittley. The next release problem. Information and Software Technology, 43(14):883 890, Dec. 2001. Y. Zhang, M. Harman, and S. A. Mansouri. The Multi-Objective Next Release Problem. In GECCO 07: Proceedings of the 2007 Genetic and Evolutionary Computation Conference, pages 1129 1136. ACM Press, 2007.

Optimising Source Code Random sampling of code transformation to find compiler optimisation K. D. Cooper, P. J. Schielke, and D. Subramanian. Optimizing for reduced code space using genetic algorithms. In Proceedings of the ACM SIGPLAN 1999 Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES 99), volume 34.7 of ACM SIGPLAN Notices, pages 1 9, NY, May 5 1999. ACM Press. Automated Parallelisation K.P.Williams.Evolutionary Algorithms for Automatic Parallelization. PhD thesis, University of Reading, UK, Department of Computer Science, Sept. 1998.

Test Data Generation Many, many different approaches and ideas; too many to list all: P. McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105 156, June 2004.

Regression Testing Pareto-efficient Test Suite Minimisation: S. Yoo and M. Harman. Pareto efficient multiobjective test case selection. In Proceedings of International Symposium on Software Testing and Analysis, pages 140 150. ACM Press, July 2007. Test Case Prioritisation: Z. Li, M. Harman, and R. M. Hierons. Search Algorithms for Regression Test Case Prioritization. IEEE Transactions on Software Engineering, 33(4): 225 237, 2007. Multi-objective Prioritisation: M. G. Epitropakis, S. Yoo, M. Harman, and E. K. Burke. Empirical evaluation of pareto efficient multiobjective regression test case prioritisation. In Proceedings of the 2015 International Symposium on Software Testing and Analysis, ISSTA 2015, pages 234 245, New York, NY, USA, 2015. ACM.

Maintenance & Reverse Module Clustering: assign modules to clusters based on their relationships B. S. Mitchell and S. Mancoridis. On the automatic modularization of software systems using the bunch tool. IEEE Transactions on Software Engineering, 32(3):193 208, 2006. K. Praditwong, M. Harman, and X. Yao. Software module clustering as a multi-objective search problem. IEEE Transactions on Software Engineering, 37(2):264 282, March-April 2010. Engineering

Deep Parameter Optimisation Reveal a property hidden in software as a parameter for tuning. F. Wu, W. Weimer, M. Harman, Y. Jia, and J. Krinke. Deep parameter optimisation. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO 2015, pages 1375 1382, 2015. J. Sohn, S. Lee, and S. Yoo. Amortised deep parameter optimisation of GPGPU work group size for OpenCV. In F. Sarro and K. Deb, editors, Proceedings of the 8th International Symposium on Search Based Software Engineering, volume 9962 of Lecture Notes in Computer Science, pages 211 217. Springer International Publishing, 2016. CPU! function Local work group size? GPU? Local work group size

Monte Carlo Tree Search for Program Synthesis (instead of GP) Move B iadd iload_1 imul iadd iload_1 imul iload_1 iload_2 ireturn iadd iload_1 imul f2i fload_4 iload_2 ireturn iadd iload_1 imul concat nop iload_2 iload_3 Fitness: Fitness: Fitness: Reward (winning rate) = Reward =

SBSE Repository Most of the papers published on SBSE, stored and categorised online: http://crestweb.cs.ucl.ac.uk/ resources/sbse_repository/

Hints for Project Ideas Your own experience and/or research Reading SBSE papers Reading SBSE Challenge Track from SSBSE Conference (see conference proceedings from 2013 and onwards)

Project Pitch (26th October) 5 minute sales pitch on what you plan to do. Explicitly describe the following: Problem How to formulate as search/optimisation How to evaluate, using which data (remember to allow sufficient time for data preparation)

Paper Presentations (starting from 31st October) Each group will read two research papers and present one between 31 October and the end of the semester: 30 minutes for the talk, followed by a complementary short lecture and/or a discussion session. There will be a reading list, from which you can choose. Also, after you decide on your project idea, I may be able to help pointing you towards helpful references, which can then be presented. At each paper presentation session, two groups participate: one group presents a paper, another group becomes dissenters (i.e. prepares difficult questions). Dissenters should read the paper too!

Talk Guideline Describe the underlying SE problem clearly What is the problem? What are the existing approaches? Present the essential SBSE information What are the representation and the fitness? What is the choice of algorithms, and why? If necessary, read other relevant papers :)

Dissenters Guideline Don t ask I don t understand this : finish reading before the class! Use Threats to Validity section as a starting point, whenever there is one. Be suspicious; try to imagine an alternative way. Again, if you want to be really successful, you d read relevant papers - who knows, someone may have already done your job :)

Peer Evaluation There will be evaluation forms for everyone in the class during paper presentations - you can note whatever the presenting team has done right/wrong and submit it to me anonymously.