Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R.: Bunch: A clustering tool for the recovery and maintenance of software system structures. In: ICSM 1999: Proceedings of the IEEE International Conference on Software Maintenance, Washington, DC, USA, pp. 50–59. IEEE Computer Society (1999)
Praditwong, K., Harman, M., Yao, X.: Software module clustering as a multi-objective search problem. IEEE Transactions on Software Engineering 37, 264–282 (2011)
Khare, V.R., Yao, X., Deb, K.: Performance scaling of multi-objective evolutionary algorithms. In: Fonseca, C.M., Fleming, P.J., Zitzler, E., Deb, K., Thiele, L. (eds.) EMO 2003. LNCS, vol. 2632, pp. 376–390. Springer, Heidelberg (2003)
Praditwong, K., Yao, X.: A new multi-objective evolutionary optimisation algorithm: the two-archive algorithm. In: Proc. of the 2006 International Conference on Computational Intelligence and Security (CIS 2006), pp. 286–291. IEEE Press (2006)
Wang, Z., Tang, K., Yao, X.: Multi-objective approaches to optimal testing resource allocation in modular software systems. IEEE Transactions on Reliability 59, 563–575 (2010)
Tate, J., Woolford-Lim, B., Bate, I., Yao, X.: Evolutionary and principled search strategies for sensornet protocol optimisation. IEEE Trans. on Systems, Man, and Cybernetics, Part B 42(1), 163–180 (2012)
Minku, L.L., Yao, X.: Software effort estimation as a multi-objective learning problem. ACM Transactions on Software Engineering and Methodology (to appear, 2013)
Minku, L.L., Yao, X.: Can cross-company data improve performance in software effort estimation?. In: Proc. of the 2012 Conference on Predictive Models in Software Engineering (PROMISE 2012). ACM Press (2012), doi:10.1145/2365324.2365334
Wang, S., Yao, X.: Using class imbalance learning for software defect prediction. IEEE Transactions on Reliability 62(2), 434–443 (2013)
Yang, X., Tang, K., Yao, X.: A learning-to-rank algorithm for constructing defect prediction models. In: Yin, H., Costa, J.A.F., Barreto, G. (eds.) IDEAL 2012. LNCS, vol. 7435, pp. 167–175. Springer, Heidelberg (2012)
Arcuri, A., Yao, X.: A novel co-evolutionary approach to automatic software bug fixing. In: Proceedings of the 2008 IEEE Congress on Evolutionary Computation (CEC 2008), Piscataway, NJ, pp. 162–168. IEEE Press (2008)
Arcuri, A., Yao, X.: Coevolving programs and unit tests from their specification. In: Proc. of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), New York, NY, pp. 397–400. ACM Press (2007)
Lehre, P.K., Yao, X.: Runtime analysis of search heuristics on software engineering problems. Frontiers of Computer Science in China 3, 64–72 (2009)
Arcuri, A., Lehre, P.K., Yao, X.: Theoretical runtime analyses of search algorithms on the test data generation for the triangle classification problem. In: Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop (ICSTW 2008), pp. 161–169. IEEE Computer Society Press (2008)
Schnier, T., Yao, X.: Using negative correlation to evolve fault-tolerant circuits. In: Tyrrell, A.M., Haddow, P.C., Torresen, J. (eds.) ICES 2003. LNCS, vol. 2606, pp. 35–46. Springer, Heidelberg (2003)
Liu, Y., Yao, X.: Ensemble learning via negative correlation. Neural Networks 12, 1399–1404 (1999)
Brown, G., Wyatt, J.L., Harris, R., Yao, X.: Diversity creation methods: A survey and categorisation. Information Fusion 6, 5–20 (2005)
Harman, M., Jones, B.F.: Search-based software engineering. Information and Software Technology 43, 833–839 (2001)
Praditwong, K., Harman, M., Yao, X.: Software Module Clustering as a Multi-Objective Search Problem. IEEE Transactions on Software Engineering 37(2), 264–282 (2011)
Wang, Z., Tang, K., Yao, X.: Multi-objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems. IEEE Transactions on Reliability 59(3), 563–575 (2010)
Cramer, N.L.: A Representation for the Adaptive Generation of Simple Sequential Programs. In: Grefenstette, J.J. (ed.) Proc. of ICGA 1985, pp. 183–187 (1985)
Weimer, W., Nguyen, T., Goues, C.L., Forrest, S.: Automatically Finding Patches Using Genetic Programming. In: Proc. of the 2009 International Conference on Software Engineering (ICSE), pp. 364–374 (2009)
Harman, M., Mansouri, A., Zhang, Y.: Search Based Software Engineering: Trends, Techniques and Applications. ACM Computing Surveys 45(1), Article 11 (2012)
Lehre, P.K., Yao, X.: On the Impact of Mutation-Selection Balance on the Runtime of Evolutionary Algorithms. IEEE Transactions on Evolutionary Computation 16(2), 225–241 (2012)
Lehre, P.K., Yao, X.: Crossover can be constructive when computing unique input-output sequences. Soft Computing 15(9), 1675–1687 (2011)
Lu, G., Li, J., Yao, X.: Fitness-Probability Cloud and a Measure of Problem Hardness for Evolutionary Algorithms. In: Proc. of the 11th European Conference on Evolutionary Computation in Combinatorial Optimization (EvoCOP 2011), pp. 108–117 (April 2011)
Lu, G., Li, J., Yao, X.: Embracing the new trend in SBSE with fitness-landscape based adaptive evolutionary algorithms. In: SSBSE 2012, pp. 25–30 (September 2012)
Avizienis, A.: Fault-tolerance and fault-intolerance: Complementary approaches to reliable computing. In: Proc. of 1975 Int. Conf. Reliable Software, pp. 458–464 (1975)
Avizienis, A., Chen, L.: On the implementation of N-version programming for software fault-tolerance during execution. In: Proc. of the First IEEE-CS Int. Computer Software and Application Conf (COMPSAC 1977), pp. 149–155 (November 1977)
Avizienis, A.: The N-Version Approach to Fault-Tolerant Software. IEEE Transactions on Software Engineering 11(12), 1491–1501 (1985)
Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multiversion programming. IEEE Transactions on Software Engineering 12(1), 96–109 (1986)
Tang, E.K., Suganthan, P.N., Yao, X.: An Analysis of Diversity Measures. Machine Learning 65, 247–271 (2006)
Chandra, A., Yao, X.: Evolving hybrid ensembles of learning machines for better generalisation. Neurocomputing 69(7-9), 686–700 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yao, X. (2013). Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering. In: Ruhe, G., Zhang, Y. (eds) Search Based Software Engineering. SSBSE 2013. Lecture Notes in Computer Science, vol 8084. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39742-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-39742-4_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39741-7
Online ISBN: 978-3-642-39742-4
eBook Packages: Computer ScienceComputer Science (R0)