Optimisation in Software Engineering
I am writing this post during the lunch break for the 22nd CREST Open Workshop. We had a few talks in the morning already. What particularly struck me during Eric Fraga’s great introduction into the uses of optimisation in chemical engineering is how miles ahead it was compared to what we, who are advocating for the Search Based Software Engineering, are doing. Whatever “advanced” applications of optimisation algorithms we as a community discussed within the last few years - interactive optimisation, gaining insights, visual workspace - were already in full swing in Eric’s talk, which discussed designs of chemical plants and heat dissipation modelling of energy efficient houses. Impressive.
Of course, there is the “underlying framework” issue: software systems are highly specified, arbitrary nets of logic that does not have any continuous algebraic laws that act as a kind of a safety net. Faults are one mere step taken outside of specified behaviours, and it is very hard to get a mathematical model that can be precisely optimised.
I’m still hopeful and there were indeed things I’ve learned from half a day of this workshop. Well, being aware of the problem is the first step to the solution.



