Abstract
Since its inception, SBSE has supported many different software engineering activities, including some which aim on improving or correcting existing systems. In such cases, search results may propose changes to the organization of the systems. Extensive changes may be inconvenient for developers, who maintain a mental model about the state of the system and use this knowledge to be productive in their daily business. Thus, a balance between optimization objectives and their impact on system structure may be pursued. In this paper, we introduce incremental search-based software engineering, an extension to SBSE which suggests optimizing a system through a sequence of restricted search turns, each limited to a maximum number of changes, so that developers can become aware of these changes before a new turn is enacted. We report on a study addressing the cost of breaking a search into a sequence of restricted turns and conclude that, at least for the selected problem and instances, there is indeed huge penalty in doing so.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Harman, M.: The Current State and Future of Search Based Software Engineering. In: 29th International Conference on Software Engineering (ICSE 2007), Future of Software Engineering (FoSE), Minneapolis, USA, pp. 20–26 (May 2007)
Antoniol, G., Penta, M., Harman, M.: Search-based techniques applied to optimization of project planning for a massive maintenance project. In: 21st IEEE International Conference on Software Maintenance, Los Alamitos, California, USA, pp. 240–249 (2005)
Bagnall, A., Rayward-Smith, V., Whittley, I.: The next release problem. Information and Software Technology 43(14), 883–890 (2001)
Dolado, J.J.: A validation of the component-based method for software size estimation. IEEE Transactions on Software Engineering 26(10), 1006–1021 (2000)
Barreto, A., Barros, M., Werner, C.: Staffing a software project: A constraint satisfaction and optimization based approach. Computers and Operations Research (COR) focused issue on Search Based Software Engineeering 35(10), 3073–3089 (2008)
McMinn, P.: Search-based software test data generation: A survey. Software Testing, Verification and Reliability 14(2), 105–156 (2004)
Mitchell, B., Mancoridis, S.: On the automatic modularization of software systems using the bunch tool. IEEE Transactions on Software Engineering 32(3), 193–208 (2006)
Durillo, J.J., Zhang, Y., Alba, E., Nebro, A.J.: A Study of the Multi-objective Next Release Problem. In: Proceedings of the 1st Symposium on Search-based Software Engineering, Windsor, UK, pp. 49–58 (2009)
Barros, M.: An Analysis of the Effects of Composite Objectives in Multiobjective Software Module Clustering. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2012), Philadelphia, USA (2012)
Bavota, G., Carnevale, F., De Lucia, A., Di Penta, M., Oliveto, R.: Putting the Developer in-the-loop: an Interactive GA for Software Re-Modularization. In: Proc. of the 4th Symposium on Search-based Software Engineering, Riva del Garda, Italy, pp. 75–89 (2012)
Ferrucci, F., Gravino, C., Sarro, F.: How Multi-Objective Genetic Programming is Effective for Software Development Effort Estimation? In: Proceedings of the 3rd Symposium for Search-based Software Engineering, Szeged, HU, pp. 274–275 (2011)
Francescomarino, C., Marchetto, A., Tonella, P.: Cluster-based modularization of processes recovered from web applications. Journal of Software: Evolution and Process 25(2), 113–138 (2013)
Magdaleno, A.: An optimization-based approach to software development process tailoring. In: Proc. of the 2nd Symposium for Search-based Software Engineering, Benevento, IT (2010)
Yoo, S., Harman, M.: Regression Testing, Minimisation, Selection and Prioritisation: A Survey. Software: Testing, Verification & Reliability 22(2), 67–120 (2012)
Bowman, M., Briand, L., Labiche, Y.: Solving the Class Responsibility Assignment Problem in Object-oriented Analysis with Multi-Objective Genetic Algorithms. IEEE Transactions on Software Engineering 36(6), 817–837 (2010)
O’Keeffe, M., Cinnéide, M.: Search-based Refactoring: An Empirical Study. Journal of Software Maintenance and Evolution: Research and Practice 20(5), 345–364 (2008)
Deligiannis, I., Shepperd, M., Roumeliotis, M., Stamelos, I.: An empirical investigation of an object-oriented design heuristic for maintainability. Journal of Systems and Software 65(2) (2003)
Gibbs, S., Tsichritzis, D., et al.: Class Management for Software Communities. Communications of the ACM 33(9), 90–103 (1990)
Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R.: Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures. In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 50–59 (1999)
Praditwong, K., Harman, M., Yao, X.: Software Module Clustering as a Multiobjective Search Problem. IEEE Transactions on Software Engineering 37(2), 262–284 (2011)
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and the Unified Process. Prentice Hall, Upper Saddle River (2002)
Briand, L.C., Morasca, S., Basili, V.R.: Defining and Validating Measures for Object-based High-Level Design. IEEE Transactions on Software Engineering 25(5) (1999)
Harman, M., Swift, S., Mahdavi, K.: An Empirical Study of the Robustness of two Module Clustering Fitness Functions. In: Proceedings of the Genetic and Evolutionary Computing Conference (GECCO 2005), Washington, DC, USA (2005)
Tucker, A., Swift, S., Liu, X.: Grouping Multivariate Time Series via Correlation. IEEE Transactions on Systems, Man, & Cybernetics, B: Cybernetics 31(2), 235–245 (2001)
LaToza, T.D., Venolia, G., DeLine, R.: Maintaining Mental Models: A Study of Developer Work Habits. In: Proc. of the 28th International Conference on Software Engineering, Shangai, CH (2006)
Ko, A., DeLine, R., Venolia, G.: Information Needs in Collocated Software Development Teams. In: Proc. of the 29th International Conference on Software Engineering, EUA (2007)
Miller, G.A.: The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological Review 63(2), 81–97 (1956)
Harman, M., Clark, J.A., Cinnédie, M.Ó.: Dynamic Adaptive Search Based Software Engineering Needs Fast Approximate Metrics. In: Proceedings of the 4th International Workshop on Emerging Trends in Software Metrics, San Francisco, USA (2013)
Harman, M., Burke, E., Clark, J.A., Yao, X.: Dynamic Adaptive Search Based Software Engineering. In: 6th IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM 2012), Lund, Sweden, pp. 1–8 (2012)
Harman, M., Clark, J.A.: Metrics are fitness functions too. In: Proceedings of the 10th International Symposium on Software Metrics, pp. 58–69 (2004)
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
de Oliveira Barros, M. (2013). An Experimental Study on Incremental 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_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-39742-4_5
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)