Computational Intelligence for Software Engineering

Computational Intelligence for Software Engineering

ISSN 2186-7437 NII Shonan Meeting Report No. 2014-13 Computational Intelligence for Software Engineering Hong Mei (Shanghai Jiao Tong University, China) Leandro Minku (The University of Birmingham, UK) Frank Neumann (The University of Adelaide, Australia) Xin Yao (The University of Birmingham, UK) October 20{23, 2014 National Institute of Informatics 2-1-2 Hitotsubashi, Chiyoda-Ku, Tokyo, Japan Computational Intelligence for Software Engineering Organizers: Hong Mei (Shanghai Jiao Tong University, China) Leandro Minku (The University of Birmingham, UK) Frank Neumann (The University of Adelaide, Australia) Xin Yao (The University of Birmingham, UK) October 20{23, 2014 Computational intelligence (CI) techniques have provided many inspirations for improving software engineering, both in terms of the engineering process as well as the software product. The application of CI techniques in software engineering is a well established research area that has been around for decades. There have been dedicated conferences, workshops, and journal special issues on applications of CI techniques to software engineering. In recent years, there has been a renewed interest in this area, driven by the need to cope with increased software size and complexity and the advances in CI. Search-based software engineering [1] provided some examples of how difficult software engineering problems can be solved more effectively using search and optimisation algorithms. It is interesting to note that search-based software engineering does not provide merely novel search and optimisation algorithms, such as evolutionary algorithms, to solve existing software engineering problems. It helps to promote rethinking and reformulation of classical software engineering problems in differ- ent ways. For example, explicit reformulation of some hard software engineer- ing problems as true multi-objective problems, instead of using the traditional weighted sum approach, has led to both better solutions to the problems as well as richer information that can be provided to software engineers [2,3]. Such information about trade-off among different objectives, i.e., competing criteria, can be very hard to obtained using classical approaches. However, most work in search-based software engineering has been focused on increasing the efficiency of solving a software engineering problem, e.g., test- ing, requirement prioritisation, project scheduling/planning, etc. Much fewer work has been reported in the literature about CI techniques used in construct- ing and synthesizing actual software. Automatic programming has always been a dream for some people, but somehow not as popular as some other research topics. The advances in evolutionary computation, especially in genetic program- ming [4], has re-ignited people's interest in automatic programming. For exam- ple, after the idea of automatic bug fixing was first proposed and demonstrated [5], industrial scale software has been tested using this approach and bugs fixed 1 [6]. The continuous need to test and improve a software system can be mod- elled as a competitive co-evolutionary process [7], where the programs try to improve and gain a higher fitness by passing all the testing cases while all the testing cases will evolve to be more challenging to the programs. The fitness of a testing case is determined by its ability to fail programs. Such competitive co-evolution can create "arms race" between programs and testing cases, which help to improve the programs automatically. In fact, competitive co-evolution has been used in other engineering design domains with success. There are many other examples of highly innovative ideas from CI for tack- ling hard software engineering problems. The primary aim of this Shonan meet- ing has been to provide an interdisciplinary forum for researchers from the areas of computational intelligence and software engineering. There were roughly 50% participants from each of the two areas. The meeting has included presentations by the participants as well as dis- cussion groups for hot topics and future work. The discussion groups played a central role and reflected on the current state of the art in the different areas of software engineering and computational intelligence, foster interdisciplinary work, and establish new research directions. The outcomes of these discussion groups as well as the abstracts of the presentations are given in this Shonan meeting report such that it is available to all researchers interested in compu- tational intelligence and software engineering. References 1. M. Harman and B. F. Jones, Search-based software engineering. Informa- tion and Software Technology, 43:833{839, 2001. 2. K. Praditwong, M. Harman and X. Yao, Software Module Clustering as a Multi-Objective Search Problem. IEEE Transactions on Software Engi- neering, 37(2):264-282, March/April 2011. 3. Z. Wang, K. Tang and X. Yao, Multi-objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems. IEEE Trans- actions on Reliability, 59(3):563-575, September 2010. 4. N. L. Cramer. A Representation for the Adaptive Generation of Simple Sequential Programs. In J. J. Grefenstette, editor, Proc. of ICGA'85, pp.183-187, 1985. 5. A. Arcuri and X. Yao, \A novel co-evolutionary approach to automatic software bug fixing,” Proceedings of the 2008 IEEE Congress on Evolu- tionary Computation (CEC2008), (Piscataway, NJ), pp. 162{168, IEEE Press, 2008. 6. W. Weimer, T. Nguyen, C. L. Goues, and S. Forrest. Automatically Find- ing Patches Using Genetic Programming. Proc. of the 2009 International Conference on Software Engineering (ICSE), pp. 364-374, 2009. 7. A. Arcuri and X. Yao, \Coevolving programs and unit tests from their specification,” Proc. of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'2007), (New York, NY), pp.397{ 400, ACM Press, 2007. 2 Participants • Bradley Alexander, The University of Adelaide, Australia, https://cs. adelaide.edu.au/~brad/ • Carl K. Chang, Iowa State University, USA, http://www.cs.iastate. edu/~chang/ • Shing-Chi Cheung, The Hong Kong University of Science and Technology, Hong Kong, http://www.cse.ust.hk/~scc/ • Jens Krinke, University College London, UK, http://www0.cs.ucl.ac. uk/staff/J.Krinke/ • William Langdon, University College London, UK, http://www0.cs.ucl. ac.uk/staff/w.langdon/ • Zheng Li, Beijing University of Chemical Technology, China, http:// cist.buct.edu.cn/zheng/ • Hong Mei, Shanghai Jiao Tong University, China, http://en.sjtu.edu. cn/about-sjtu/administration/mei-hong • Leandro Minku, The University of Birmingham, UK, http://www.cs. bham.ac.uk/~minkull/ • Frank Neumann, The University of Adelaide, Australia, http://cs.adelaide. edu.au/~frank/ • Jerry Swan, University of Stirling, UK, http://www.cs.stir.ac.uk/~jsw/ • Ke Tang, University of Science and Technology of China, China, http: //staff.ustc.edu.cn/~ketang/ • Markus Wagner, The University of Adelaide, Australia, http://cs.adelaide. edu.au/~markus/ • Hironori Washizaki, Waseda University, Japan, http://www.washi.cs. waseda.ac.jp/eng/AssociateProfessor.html • Andreas Zeller, Saarland University, Germany, http://www.st.cs.uni-saarland. de/ • Jian Zhang, Chinese Academy of Sciences, China, http://www.ios.ac. cn/~zj/ • Lu Zhang, Peking University, China, http://sei.pku.edu.cn/~zhanglu/ • Jianjun Zhao, Shanghai Jiao Tong University, China, http://cse.sjtu. edu.cn/~zhao/ 3 Program Sunday (19 October) 19:00-21:00: Welcome Reception Monday (20 October) 09:00-09:15: Introduction 09:15-09:45: Bill Langdon: Genetic Improvement 09:45-10:15: Jens Krinke: Computational Stupid: Language-Independent Program Slic- ing 10:15-10:45: Time for discussion 10:45-11:15: Break 11:15-12:00: Discussion and identification of important future research topics. Form of smaller groups based on research interest. 12:00-13:30: Lunch 13:30-14:00: Group Photo 14:00-14:30: Jerry Swan: Automatic Improvement Programming 14:30-15:00: Markus Wagner: Maximising Axiomatization Coverage and Minimizing Regression Testing Time 15:00-15:30: Discussions 15:30-16:00: Break 16:00-16:30: Lu Zhang: The Structure Problem in Search-Based Software Engineering 16:30-18:00: Small group discussions based on research interests Tuesday (21 October) 09:00-09:30: Andreas Zeller: Search-Based System Testing 09:30-10:00: Leandro Minku: Software Effort Estimation Models Past, Present and Future 10:00-10:30: Time for discussion 10:30-11:00: Break 11:00-12:00: Discussion on funding opportunities with focus on international collabo- rations 12:00-13:30: Lunch 13:30-14:00: Hironori Washizaki: Predicting Release Time Based on Generalized Soft- ware Reliability Model 4 14:00-14:30: Brad Alexander: Searching Software Design Spaces Using Genetic Pro- gramming 14:30-15:00: Time for discussion 15:00-15:30: Break 15:30-16:00: Jianjun Zhao: Debugging with Online Slicing and Dryrun 16:00-16:30: Jian Zhang: Backtracking search techniques in software testing and anal- ysis 16:30-18:00: Small group discussions based on research interests Wednesday (22 October) 09:00-09:30: Hong Mei: Can Big Data bring us new opportunities for software automa- tion? 09:30-10:00: Zheng Li: Efficient Search based Regression Test case prioritization 10:00-10:30: Time for discussion 10:30-11:00: Break 11:00-12:00: Discussion or time to summarize small group discussions 12:00-13:30: Lunch 13:30-21:30: Excursion and Banquet Thursday (23 October) 09:00-09:30: Jerry Swan: An API for modular metaheuristics 09:30-10:30: Time for discussion 10:30-11:00: Break 11:00-12:00: Wrap-up and final discussions 5 Overview of Talks Searching Software Design Spaces Using Genetic Program- ming Bradley Alexander, The University of Adelaide, Australia his talk summarises a small number of projects that I have worked on that exploit heuristic search to produce human competitive software artefacts. These projects range from the automatic construction of rules defining the core of an optimising compiler; the discovery of non-trivial recurrences from partial call trees; the evolution of navigation functions for robotic control; and the search for patches for software repair.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us