I was talking to a friend yesterday about some possible contents of a software engineering course. An idea flashed into my mind about writing something about search based software engineer. While traditional software engineering engages a subject (a software engineer so to say) in the process of software engineering, search based software engineering leverages to a large extent from machine learning algorithms and meta-heuristic techniques.
I remember I read a research paper a few years ago in which the authors had employed a genetic algorithm for identifying bugs in a piece of software. The algorithm works by generating a large population of individuals. Each one of them is a valid input to the program. By valid I mean something that the program can accept as input. So the search space is the set of all the valid inputs to the program at hand.
The algorithm evaluates all the individuals by seeing how the program works as they are input to it. On the inputs on which the program crashes, the algorithm uses them to evolve further generations. This is how the algorithm narrows down on the search space and moves to the regions which generate inputs that crash the program. On further inspection of the inputs, the user may learn about the patches of the code of the program that may have caused crashes. The bugs can then be fixed easily.
The talking I am talking about was quite old. I guess it was written in the late 90s’ by a few researchers in the Norway’s Trondheim University of Technology.
The scheme was elegant nonetheless. It reduces a lot of labor on part of the software engineer as the process of bug testing is automated.
Search based software engineering is a matured field now. Every now and then I get an email about a call for papers from a conference, symposium or a workshop being held on evolutionary computation and there is almost always a track for search based software engineering.
Here I am posting a few links that might be of interest to anyone who is willing to work in this area.
Here is a link on GECCO’s website about its track on search based software engineering.
This is a link about an independent symposium that is held about this topic.
Free online access to the online version on SpringerLink for the SSBSE2016. We are pleased to announce SSBSE 2016, the eight edition of the annual symposium dedicated to Search Based Software Engineering (SBSE), to be held in Raleigh, North Carolina, USA.
Evostar conferences are leading European conferences about various topics in theory and applications of machine learning. Here is a link to their conference of software engineering.
Submission Deadline: 1 November 2016EXTENDED DEADLINE: 15 November 2016 (site remains open for final changes until 21 Nov) Notification: 9 January 2017Camera-ready: 25 January 2017Mandatory registration per paper: 1 February 2017Student bursary deadline: 20 February 2017Early registration discount: 1 March 2017Registration deadline: 10 April 2017EvoStar dates: 19-21 April 2017
I shall keep on finding and posting more valuable stuff on this topic here.
If you found an error, highlight it and press Shift + Enter or click here to inform us.