Dynamic adaptive Search Based Software Engineering

Search Based Software Engineering (SBSE) has proved to be a very effective way of optimising software engineering problems. Nevertheless, its full potential as a means of dynamic adaptivity remains under explored. This paper sets out the agenda for Dynamic Adaptive SBSE, in which the optimisation is embedded into deployed software to create self-optimising adaptive systems. Dynamic Adaptive SBSE will move the research agenda forward to encompass both software development processes and the software products they produce, addressing the long-standing, and as yet largely unsolved, grand challenge of self-adaptive systems.

[1]  John A. Clark,et al.  Formulating software engineering as a search problem , 2003, IEE Proc. Softw..

[2]  Gordon Fraser,et al.  Search Based Software Engineering , 2012, Lecture Notes in Computer Science.

[3]  Walter F. Tichy,et al.  Should Computer Scientists Experiment More? , 1998, Computer.

[4]  Takeo Kanade,et al.  Software Engineering for Self-Adaptive Systems II , 2013, Lecture Notes in Computer Science.

[5]  Mark Harman,et al.  AUSTIN: A Tool for Search Based Software Testing for the C Language and Its Evaluation on Deployed Automotive Systems , 2010, 2nd International Symposium on Search Based Software Engineering.

[6]  Allen Newell,et al.  Computer science as empirical inquiry: symbols and search , 1976, CACM.

[7]  Spyros Xanthakis,et al.  Immune System and Fault-Tolerant Computing , 1995, Artificial Evolution.

[8]  Mark Harman,et al.  Faster Fault Finding at Google Using Multi Objective Regression Test Optimisation , 2011 .

[9]  Martin S. Feather,et al.  Optimizing spacecraft design optimization engine development: progress and plans , 2003, 2003 IEEE Aerospace Conference Proceedings (Cat. No.03TH8652).

[10]  Mark Harman,et al.  FloPSy - Search-Based Floating Point Constraint Solving for Symbolic Execution , 2010, ICTSS.

[11]  Iman Hemati Moghadam,et al.  Code-Imp: a tool for automated search-based refactoring , 2011, WRT '11.

[12]  John A. Clark,et al.  Multi-objective Improvement of Software Using Co-evolution and Smart Seeding , 2008, SEAL.

[13]  Joachim Wegener,et al.  Evaluation of Different Fitness Functions for the Evolutionary Testing of an Autonomous Parking System , 2004, GECCO.

[14]  Mark Harman,et al.  Search Based Software Engineering: Techniques, Taxonomy, Tutorial , 2010, LASER Summer School.

[15]  Claire Le Goues,et al.  GenProg: A Generic Method for Automatic Software Repair , 2012, IEEE Transactions on Software Engineering.

[16]  Edsger W. Dijkstra,et al.  On a political pamphlet from the middle ages , 1978, SOEN.

[17]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[18]  Yuanyuan Zhang,et al.  Search Based Requirements Optimisation: Existing Work and Challenges , 2008, REFSQ.

[19]  John A. Clark,et al.  Searching for resource-efficient programs: low-power pseudorandom number generators , 2008, GECCO '08.

[20]  Gordon Fraser,et al.  EvoSuite: automatic test suite generation for object-oriented software , 2011, ESEC/FSE '11.

[21]  Yue Jia,et al.  MILU: A Customizable, Runtime-Optimized Higher Order Mutation Testing Tool for the Full C Language , 2008, Testing: Academic & Industrial Conference - Practice and Research Techniques (taic part 2008).

[22]  Jim Woodcock,et al.  FME'96: Industrial Benefit and Advances in Formal Methods , 1996, Lecture Notes in Computer Science.

[23]  Enrique Alba,et al.  A study of the bi-objective next release problem , 2010, Empirical Software Engineering.

[24]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[25]  Mark Harman,et al.  The relationship between search based software engineering and predictive modeling , 2010, PROMISE '10.

[26]  Claire Le Goues,et al.  A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[27]  Spiros Mancoridis,et al.  On the automatic modularization of software systems using the Bunch tool , 2006, IEEE Transactions on Software Engineering.

[28]  Mark Harman,et al.  The role of Artificial Intelligence in Software Engineering , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[29]  Mark Harman,et al.  Why the Virtual Nature of Software Makes It Ideal for Search Based Optimization , 2010, FASE.

[30]  Ralf H. Reussner,et al.  Using Genetic Search for Reverse Engineering of Parametric Behavior Models for Performance Prediction , 2010, IEEE Transactions on Software Engineering.

[31]  Andrea Arcuri,et al.  It Does Matter How You Normalise the Branch Distance in Search Based Software Testing , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[32]  Mark Harman,et al.  Automated web application testing using search based software engineering , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[33]  Mark Harman,et al.  Software Engineering Meets Evolutionary Computation , 2011, Computer.

[34]  Lionel C. Briand,et al.  A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation , 2010, IEEE Transactions on Software Engineering.

[35]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[36]  Victor R. Basili,et al.  Experimentation in software engineering , 1986, IEEE Transactions on Software Engineering.

[37]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[38]  Wasif Afzal,et al.  On the application of genetic programming for software engineering predictive modeling: A systematic review , 2011, Expert Syst. Appl..

[39]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[40]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[41]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[42]  Enrique Alba,et al.  Elementary Landscape Decomposition of the Test Suite Minimization Problem , 2011, SSBSE.

[43]  Paolo Tonella,et al.  Evolutionary testing of classes , 2004, ISSTA '04.

[44]  Mark Harman,et al.  Why Source Code Analysis and Manipulation Will Always be Important , 2010, 2010 10th IEEE Working Conference on Source Code Analysis and Manipulation.

[45]  Mark Harman,et al.  Open Problems in Testability Transformation , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[46]  Wasif Afzal,et al.  Search-based Prediction of Fault-slip-through in Large Software Projects , 2010, 2nd International Symposium on Search Based Software Engineering.

[47]  C. A. R. Hoare The Engineering of Software: A Startling Contradiction , 1978 .

[48]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[49]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[50]  Xin Yao,et al.  A novel co-evolutionary approach to automatic software bug fixing , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[51]  Wasif Afzal,et al.  A systematic review of search-based testing for non-functional system properties , 2009, Inf. Softw. Technol..

[52]  Per Kristian Lehre,et al.  Runtime analysis of search heuristics on software engineering problems , 2009, Frontiers of Computer Science in China.

[53]  Westley Weimer,et al.  A human study of patch maintainability , 2012, ISSTA 2012.

[54]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[55]  Enrique Alba,et al.  Today/future importance analysis , 2010, GECCO '10.

[56]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[57]  Mark Harman,et al.  Search Based Software Engineering for Program Comprehension , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[58]  Jerffeson Teixeira de Souza,et al.  Ten Years of Search Based Software Engineering: A Bibliometric Analysis , 2011, SSBSE.

[59]  Lionel Briand,et al.  Embracing the Engineering Side of Software Engineering , 2012, IEEE Softw..

[60]  Name M. Lastname Automatically Finding Patches Using Genetic Programming , 2013 .

[61]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[62]  Sanja Petrovic,et al.  A graph-based hyper-heuristic for educational timetabling problems , 2007, Eur. J. Oper. Res..

[63]  Julie Greensmith,et al.  Immune System Approaches to Intrusion Detection - A Review , 2004, ICARIS.

[64]  Emilia Mendes,et al.  How effective is Tabu search to configure support vector regression for effort estimation? , 2010, PROMISE '10.

[65]  John Darlington,et al.  A system which automatically improves programs , 1973, Acta Informatica.

[66]  Stephanie Forrest,et al.  Immunity by design: an artificial immune system , 1999 .

[67]  A. Ganek Autonomic computing: implementing the vision , 2003, 2003 Autonomic Computing Workshop.

[68]  Outi Räihä,et al.  A survey on search-based software design , 2010, Comput. Sci. Rev..

[69]  Sarfraz Khurshid,et al.  Symbolic execution for software testing in practice: preliminary assessment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[70]  Carlo Ghezzi,et al.  Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[71]  Mark Harman,et al.  Evolving a CUDA kernel from an nVidia template , 2010, IEEE Congress on Evolutionary Computation.

[72]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[73]  K. Popper,et al.  Conjectures and refutations;: The growth of scientific knowledge , 1972 .