[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2372251.2372253acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
keynote

Dynamic adaptive search based software engineering

Published: 19 September 2012 Publication History

Abstract

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.

References

[1]
W. Afzal and R. Torkar. On the application of genetic programming for software engineering predictive modeling: A systematic review. Expert Systems Applications, 38(9):11984-11997, 2011.
[2]
W. Afzal, R. Torkar, and R. Feldt. A systematic review of search-based testing for non-functional system properties. Information and Software Technology, 51(6):957-976, 2009.
[3]
W. Afzal, R. Torkar, R. Feldt, and G. Wikstrand. Search-based prediction of fault-slip-through in large software projects. In Second International Symposium on Search Based Software Engineering (SSBSE 2010), pages 79-88, Benevento, Italy, 7-9 Sept. 2010.
[4]
S. Ali, L. C. Briand, H. Hemmati, and R. K. Panesar-Walawege. A systematic review of the application and empirical investigation of search-based test-case generation. IEEE Transactions on Software Engineering, pages 742-762, 2010.
[5]
N. Alshahwan and M. Harman. Automated web application testing using search based software engineering. In 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pages 3-12, Lawrence, Kansas, USA, 6th-10th November 2011.
[6]
A. Arcuri. It does matter how you normalise the branch distance in search based software testing. In International Conference on Software testing (ICST 2010), pages 205-214, Paris, France, 2010. IEEE Computer Society.
[7]
A. Arcuri, D. R. White, J. A. Clark, and X. Yao. Multi-objective improvement of software using co-evolution and smart seeding. In 7th International Conference on Simulated Evolution and Learning (SEAL 2008), pages 61-70, Melbourne, Australia, December 2008. Springer.
[8]
A. Arcuri and X. Yao. A Novel Co-evolutionary Approach to Automatic Software Bug Fixing. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC '08), pages 162-168, Hongkong, China, 1-6 June 2008. IEEE Computer Society.
[9]
P. Baker, M. Harman, K. Steinhöfel, and A. Skaliotis. Search based approaches to component selection and prioritization for the next release problem. In 22nd International Conference on Software Maintenance (ICSM 06), pages 176-185, Philadelphia, Pennsylvania, USA, Sept. 2006.
[10]
V. R. Basili, R. W. Selby, and D. H. Hutchens. Experimentation in software engineering. IEEE Transactions on Software Engineering, 12(7):733-743, July 1986.
[11]
J. S. Bradbury, J. R. Cordy, J. Dingel, and M. Wermelinger. A survey of self-management in dynamic software architecture specifications. In D. Garlan, J. Kramer, and A. L. Wolf, editors, Proceedings of the 1st ACM SIGSOFT Workshop on Self-Managed Systems (WOSS 2004), pages 28-33, California, USA, October 31- November 1 2004. ACM.
[12]
L. Briand. Embracing the engineering side of software engineering. IEEE Software, 2012. To appear.
[13]
E. K. Burke, B. McCollum, A. Meisels, S. Petrovic, and R. Qu. A Graph-Based Hyper-Heuristic for Timetabling Problems. European Journal of Operational Research, 176(1):177-192, 2007.
[14]
C. Cadar, P. Godefroid, S. Khurshid, C. S. Pasareanu, K. Sen, N. Tillmann, and W. Visser. Symbolic execution for software testing in practice: preliminary assessment. In 33rd International Conference on Software Engineering (ICSE'11), pages 1066-1071, New York, NY, USA, 2011. ACM.
[15]
B. Cheng and J. Atlee. From state of the art to the future of requirements engineering. In L. Briand and A. Wolf, editors, Future of Software Engineering 2007, Los Alamitos, California, USA, 2007. IEEE Computer Society Press. This volume.
[16]
B. H. C. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J. Magee, editors. Software Engineering for Self-Adaptive Systems (Dagstuhl Seminar), volume 08031 of Dagstuhl Seminar Proceedings. Internationales Begegnungs und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany, 2008.
[17]
J. F. Chicano, J. Ferrer, and E. Alba. Elementary landscape decomposition of the test suite minimization problem. In M. B. Cohen and M. Ó. Cinnéide, editors, 3rd International Symposium on Search Based Software Engineering (SSBSE 2011), volume 6956 of Lecture Notes in Computer Science, pages 48-63, Szeged, Hungary, 2011. Springer.
[18]
J. Clark, J. J. Dolado, M. Harman, R. M. Hierons, B. Jones, M. Lumkin, B. Mitchell, S. Mancoridis, K. Rees, M. Roper, and M. Shepperd. Reformulating software engineering as a search problem. IEE Proceedings -- Software, 150(3):161-175, 2003.
[19]
A. Corazza, S. D. Martino, F. Ferrucci, C. Gravino, F. Sarro, and E. Mendes. How effective is tabu search to configure support vector regression for effort estimation? In 6th International Conference on Predictive Models in Software Engineering (PROMISE '10), Timisoara, Romania, 12-13 September 2010. IEEE.
[20]
S. L. Cornford, M. S. Feather, J. R. Dunphy, J. Salcedo, and T. Menzies. Optimizing Spacecraft Design - Optimization Engine Development: Progress and Plans. In Proceedings of the IEEE Aerospace Conference, pages 3681-3690, Big Sky, Montana, March 2003.
[21]
J. Darlington and R. M. Burstall. A system which automatically improves programs. Acta Informatica, 6:41-60, 1976.
[22]
E. W. Dijkstra. On a political pamphlet from the middle ages (A response to the paper 'social processes and proofs of theorems and programs' by DeMillo, Lipton, and Perlis). ACM SIGSOFT, Software Engineering Notes, 3(2):14-17, 1978.
[23]
J. J. Durillo, Y. Zhang, E. Alba, M. Harman, and A. J. Nebro. A study of the bi-objective next release problem. Empirical Software Engineering, 16(1):29-60, 2011.
[24]
P. Fara. Science: A 4000-year history. Oxford University Press, 2009.
[25]
A. Filieri, C. Ghezzi, A. Leva, and M. Maggio. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. In P. Alexander, C. S. Pasareanu, and J. G. Hosking, editors, 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), pages 283-292, Lawrence, KS, USA, November 2011. IEEE.
[26]
G. Fraser and A. Arcuri. Evosuite: automatic test suite generation for object-oriented software. In 8th European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE '11), pages 416-419. ACM, September 5th - 9th 2011.
[27]
F. G. Freitas and J. T. Souza. Ten years of search based software engineering: A bibliometric analysis. In 3rd International Symposium on Search based Software Engineering (SSBSE 2011), pages 18-32, 10th - 12th September 2011.
[28]
Z. P. Fry, B. Landau, and W. Weimer. A human study of patch maintainability. In International Symposium on Software Testing and Analysis (ISSTA'12), Minneapolis, Minnesota, USA, July 2012. To appear.
[29]
A. G. Ganek. Autonomic computing: Implementing the vision. In Active Middleware Services, pages 2-3. IEEE Computer Society, 2003.
[30]
C. L. Goues, M. Dewey-Vogt, S. Forrest, and W. Weimer. A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. In International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, 2012.
[31]
M. Harman. The current state and future of search based software engineering. In L. Briand and A. Wolf, editors, Future of Software Engineering 2007, pages 342-357, Los Alamitos, California, USA, 2007. IEEE Computer Society Press.
[32]
M. Harman. Search based software engineering for program comprehension. In 15th International Conference on Program Comprehension (ICPC 07), pages 3-13, Banff, Canada, 2007. IEEE Computer Society Press.
[33]
M. Harman. Open problems in testability transformation. In 1st International Workshop on Search Based Testing (SBT 2008), Lillehammer, Norway, 2008.
[34]
M. Harman. The relationship between search based software engineering and predictive modeling. In 6th International Conference on Predictive Models in Software Engineering (PROMISE 2010), Timisoara, Romania, 2010.
[35]
M. Harman. Why source code analysis and manipulation will always be important. In 10th IEEE International Working Conference on Source Code Analysis and Manipulation, pages 7-19, Timisoara, Romania, 2010.
[36]
M. Harman. Why the virtual nature of software makes it ideal for search based optimization. In 13th International Conference on Fundamental Approaches to Software Engineering (FASE 2010), pages 1-12, Paphos, Cyprus, March 2010.
[37]
M. Harman. Software engineering meets evolutionary computation. IEEE Computer, 44(10):31-39, Oct. 2011.
[38]
M. Harman. The role of artificial intelligence in software engineering. In 1st International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE 2012), Zurich, Switzerland, 2012.
[39]
M. Harman and B. F. Jones. Search based software engineering. Information and Software Technology, 43(14):833-839, Dec. 2001.
[40]
M. Harman, A. Mansouri, and Y. Zhang. Search based software engineering: Trends, techniques and applications. ACM Computing Surveys, 2012. To appear.
[41]
M. Harman and P. McMinn. A theoretical and empirical study of search based testing: Local, global and hybrid search. IEEE Transactions on Software Engineering, 36(2):226-247, 2010.
[42]
M. Harman, P. McMinn, J. Souza, and S. Yoo. Search based software engineering: Techniques, taxonomy, tutorial. In B. Meyer and M. Nordio, editors, Empirical software engineering and verification: LASER 2009-2010, pages 1-59. Springer, 2012. LNCS 7007.
[43]
C. A. R. Hoare. The engineering of software: A startling contradiction. In D. Gries, editor, Programming Methodology, A Collection of Articles by Members of IFIP WG2.3. Springer-Verlag, New York, NY, 1978.
[44]
C. A. R. Hoare. How did software get so reliable without proof? In FME '96: Industrial Benefit and Advances in Formal Methods: Third International Symposium of Formal Methods Europe, number 1051 in LNCS, pages 1-17. Springer-Verlag, Mar. 1996.
[45]
S. A. Hofmeyr and S. Forrest. Immunity by design: An artificial immune system. Proceedings of the Genetic and Evolutionary Computation Conference (GECCO '99), 2:1289-1296, 1999.
[46]
Y. Jia and M. Harman. Milu: A customizable, runtime-optimized higher order mutation testing tool for the full C language. In 3rd Testing Academia and Industry Conference - Practice and Research Techniques (TAIC PART'08), pages 94-98, Windsor, UK, August 2008.
[47]
J. Kim, P. J. Bentley, U. Aickelin, J. Greensmith, G. Tedesco, and J. Twycross. Immune system approaches to intrusion detection - A review. Natural Computing: An international journal, 6, Dec. 2007.
[48]
K. Krogmann, M. Kuperberg, and R. Reussner. Using genetic search for reverse engineering of parametric behaviour models for performance prediction. IEEE Transactions on Software Engineering, 36(6):865-877, November-December 2010.
[49]
K. Lakhotia, M. Harman, and H. Gross. AUSTIN: A tool for search based software testing for the C language and its evaluation on deployed automotive systems. In 2nd International Symposium on Search Based Software Engineering (SSBSE 2010), pages 101-110, Benevento, Italy, September 2010.
[50]
K. Lakhotia, N. Tillmann, M. Harman, and J. de Halleux. FloPSy -- Search-based floating point constraint solving for symbolic execution. In 22nd IFIP International Conference on Testing Software and Systems (ICTSS 2010), pages 142-157, Natal, Brazil, November 2010. LNCS Volume 6435.
[51]
W. B. Langdon and M. Harman. Evolving a CUDA kernel from an nVidia template. In IEEE Congress on Evolutionary Computation, pages 1-8. IEEE, 2010.
[52]
C. Le Goues, T. Nguyen, S. Forrest, and W. Weimer. GenProg: A generic method for automatic software repair. IEEE Transactions on Software Engineering, 38(1):54-72, 2012.
[53]
P. K. Lehre and X. Yao. Runtime analysis of search heuristics on software engineering problems. Frontiers of Computer Science in China, 3(1):64-72, 2009.
[54]
P. McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105-156, June 2004.
[55]
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.
[56]
I. H. Moghadam and Mel Ó Cinnéide. Code-Imp: A tool for automated search-based refactoring. In Proceeding of the 4th workshop on Refactoring Tools (WRT '11), pages 41-44, Honolulu, HI, USA, 2011.
[57]
A. Newell and H. A. Simon. Computer science as empirical inquiry: symbols and search. Communications of the ACM, 19:113-126, 1976.
[58]
A. Ngo-The and G. Ruhe. A systematic approach for solving the wicked problem of software release planning. Soft Computing - A Fusion of Foundations, Methodologies and Applications, 12(1):95-108, August 2008.
[59]
P. Oreizy, M. M. Gorlick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14:54-62, May 1999.
[60]
K. R. Popper. Conjectures and Refutations: The Growth of Scientific Knowledge. Routledge, 2003.
[61]
O. Räihä. A survey on search-based software design. Computer Science Review, 4(4):203-249, 2010.
[62]
W. F. Tichy. Should computer scientists experiment more? IEEE Computer, 31(5):32-40, May 1998.
[63]
P. Tonella. Evolutionary testing of classes. In Proceedings of the 2004 ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '04), pages 119-128, Boston, Massachusetts, USA, 11-14 July 2004. ACM.
[64]
J. Wegener and O. Bühler. Evaluation of different fitness functions for the evolutionary testing of an autonomous parking system. In Genetic and Evolutionary Computation Conference (GECCO 2004), pages 1400-1412, Seattle, Washington, USA, June 2004. LNCS 3103.
[65]
W. Weimer, T. V. Nguyen, C. L. Goues, and S. Forrest. Automatically finding patches using genetic programming. In International Conference on Software Engineering (ICSE 2009), pages 364-374, Vancouver, Canada, 2009.
[66]
D. R. White, J. Clark, J. Jacob, and S. Poulding. Searching for resource-efficient programs: Low-power pseudorandom number generators. In 2008 Genetic and Evolutionary Computation Conference (GECCO 2008), pages 1775-1782, Atlanta, USA, July 2008. ACM Press.
[67]
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in Software Engineering. Kluwer Academic Publishers, 2000.
[68]
S. Xanthakis, C. Karapoulios, R. Pajot, and A. Rozz. Immune system and fault-tolerant computing. Artificial Evolution (Lecture Notes in Computer Science), 1063:181-197, 1996.
[69]
S. Yoo, R. Nilsson, and M. Harman. Faster fault finding at Google using multi objective regression test optimisation. In 8th European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE '11), Szeged, Hungary, September 5th - 9th 2011. Industry Track.
[70]
Y. Zhang, E. Alba, J. J. Durillo, S. Eldh, and M. Harman. Today/future importance analysis. In ACM Genetic and Evolutionary Computation Conference (GECCO 2010), pages 1357-1364, Portland Oregon, USA, 7th-11th July 2010.
[71]
Y. Zhang, A. Finkelstein, and M. Harman. Search based requirements optimisation: Existing work and challenges. In International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ'08), volume 5025, pages 88-94, Montpellier, France, 2008. Springer LNCS.
[72]
Y. Zhang, M. Harman, and A. Mansouri. The SBSE repository: A repository and analysis of authors and research articles on search based software engineering. crestweb.cs.ucl.ac.uk/resources/sbse_repository/.
[73]
Y. Zhang, M. Harman, and A. Mansouri. The multi-objective next release problem. In GECCO 2007: Proceedings of the 9th annual conference on Genetic and evolutionary computation, pages 1129-1137, London, UK, July 2007. ACM Press.

Cited By

View all
  • (2023)Using Genetic Programming to Build Self-Adaptivity into Software-Defined NetworksACM Transactions on Autonomous and Adaptive Systems10.1145/3616496Online publication date: 17-Aug-2023
  • (2023)A class integration test order generation approach based on Sarsa algorithmAutomated Software Engineering10.1007/s10515-023-00406-931:1Online publication date: 13-Dec-2023
  • (2022)Learning self-adaptations for IoT networksProceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3524844.3528053(13-24)Online publication date: 18-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEM '12: Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
September 2012
338 pages
ISBN:9781450310567
DOI:10.1145/2372251
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. autonomic computing
  2. sbse
  3. search based optimization
  4. self-adaptive systems

Qualifiers

  • Keynote

Conference

ESEM '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 130 of 594 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)4
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Using Genetic Programming to Build Self-Adaptivity into Software-Defined NetworksACM Transactions on Autonomous and Adaptive Systems10.1145/3616496Online publication date: 17-Aug-2023
  • (2023)A class integration test order generation approach based on Sarsa algorithmAutomated Software Engineering10.1007/s10515-023-00406-931:1Online publication date: 13-Dec-2023
  • (2022)Learning self-adaptations for IoT networksProceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3524844.3528053(13-24)Online publication date: 18-May-2022
  • (2022)Inter-release defect prediction with feature selection using temporal chunk-based learningApplied Soft Computing10.1016/j.asoc.2021.107870113:PAOnline publication date: 3-Jan-2022
  • (2020)Dynamic adaptation of software-defined networks for IoT systemsProceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3387939.3391603(137-148)Online publication date: 29-Jun-2020
  • (2019)Multiobjective Optimization Using Evolutionary Algorithms in Agile Teams AllocationProceedings of the XVIII Brazilian Symposium on Software Quality10.1145/3364641.3364652(89-98)Online publication date: 28-Oct-2019
  • (2019)Towards the support of user preferences in search-based product line architecture designProceedings of the XXXIII Brazilian Symposium on Software Engineering10.1145/3350768.3351993(387-396)Online publication date: 23-Sep-2019
  • (2019)Won't take no for an answerProceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1109/SEAMS.2019.00019(77-88)Online publication date: 25-May-2019
  • (2019)Solving the Software Project Scheduling Problem with Hyper-heuristicsArtificial Intelligence and Soft Computing10.1007/978-3-030-20912-4_37(399-411)Online publication date: 24-May-2019
  • (2018)Search-Based Higher Order Mutation TestingProceedings of the III Brazilian Symposium on Systematic and Automated Software Testing10.1145/3266003.3266013(87-96)Online publication date: 17-Sep-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media