Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering

Multi-objective algorithms have been used to solve difficult software engineering problems for a long time. This article summarises some selected recent work of applying latest meta-heuristic optimisation algorithms and machine learning algorithms to software engineering problems, including software module clustering, testing resource allocation in modular software system, protocol tuning, Java container testing, software project scheduling, software project effort estimation, and software defect prediction. References will be given, from which the details of such application of computational intelligence techniques to software engineering problems can be found.

[1]  Xin Yao,et al.  Can cross-company data improve performance in software effort estimation? , 2012, PROMISE '12.

[2]  Xin Yao,et al.  Performance Scaling of Multi-objective Evolutionary Algorithms , 2003, EMO.

[3]  Iain Bate,et al.  Evolutionary and Principled Search Strategies for Sensornet Protocol Optimization , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

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

[5]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[6]  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).

[7]  Xin Yao,et al.  Software effort estimation as a multiobjective learning problem , 2013, TSEM.

[8]  Xin Yao,et al.  Fitness-Probability Cloud and a Measure of Problem Hardness for Evolutionary Algorithms , 2011, EvoCOP.

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

[10]  Claire Le Goues,et al.  Automatically finding patches using genetic programming , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[11]  Per Kristian Lehre,et al.  Crossover can be constructive when computing unique input–output sequences , 2011, Soft Comput..

[12]  Nancy G. Leveson,et al.  An experimental evaluation of the assumption of independence in multiversion programming , 1986, IEEE Transactions on Software Engineering.

[13]  Xin Yao,et al.  Evolving hybrid ensembles of learning machines for better generalisation , 2006, Neurocomputing.

[14]  Xin Yao,et al.  An analysis of diversity measures , 2006, Machine Learning.

[15]  Xin Yao,et al.  Using Class Imbalance Learning for Software Defect Prediction , 2013, IEEE Transactions on Reliability.

[16]  Algirdas Avižienis Fault-tolerance and fault-intolerance: Complementary approaches to reliable computing , 1975 .

[17]  Xin Yao,et al.  Software Module Clustering as a Multi-Objective Search Problem , 2011, IEEE Transactions on Software Engineering.

[18]  Xin Yao,et al.  Multi-Objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems , 2010, IEEE Transactions on Reliability.

[19]  Xin Yao,et al.  An analysis of multi-objective evolutionary algorithms for training ensemble models based on different performance measures in software effort estimation , 2013, PROMISE.

[20]  Algirdas Avizienis,et al.  The N-Version Approach to Fault-Tolerant Software , 1985, IEEE Transactions on Software Engineering.

[21]  Xin Yao,et al.  A Learning-to-Rank Algorithm for Constructing Defect Prediction Models , 2012, IDEAL.

[22]  Xin Yao,et al.  Coevolving programs and unit tests from their specification , 2007, ASE.

[23]  Xin Yao,et al.  Using Negative Correlation to Evolve Fault-Tolerant Circuits , 2003, ICES.

[24]  Sanyou Zeng,et al.  Evolvable Systems: From Biology to Hardware, 7th International Conference, ICES 2007, Wuhan, China, September 21-23, 2007, Proceedings , 2007, ICES.

[25]  Nichael Lynn Cramer,et al.  A Representation for the Adaptive Generation of Simple Sequential Programs , 1985, ICGA.

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

[27]  Xin Yao,et al.  A New Multi-objective Evolutionary Optimisation Algorithm: The Two-Archive Algorithm , 2006, 2006 International Conference on Computational Intelligence and Security.

[28]  Xin Yao,et al.  Ensemble learning via negative correlation , 1999, Neural Networks.

[29]  Xin Yao,et al.  Diversity creation methods: a survey and categorisation , 2004, Inf. Fusion.

[30]  Per Kristian Lehre,et al.  Theoretical Runtime Analyses of Search Algorithms on the Test Data Generation for the Triangle Classification Problem , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[31]  Per Kristian Lehre,et al.  On the Impact of Mutation-Selection Balance on the Runtime of Evolutionary Algorithms , 2012, IEEE Trans. Evol. Comput..