Security Engineering for Lifelong Evolvable Systems

Towards learning to detect meaningful changes in software

TitleTowards learning to detect meaningful changes in software
Publication TypeConference Paper
Year of Publication2011
AuthorsYu, Y., A. Bandara, T. T. Tun, and B. Nuseibeh
Conference NameProceedings of the International Workshop on Machine Learning Technologies in Software Engineering
Date PublishedNovember
Conference LocationNew York, NY, USA

Software developers are often concerned with particular changes that are relevant to their current tasks: not all changes to evolving software are equally important. Specified at the language-level, we have developed an automated technique to detect only those changes that are deemed meaningful, or relevant, to a particular development task ?1?. In practice, however, it is realised that programmers are not always familiar with the production rules of a programming language. Rather, they may prefer to specify the meaningful changes using concrete program examples. In this position paper, we are proposing an inductive learning procedure that involves the programmers in constructing such language-level specifications through examples. Using the efficiently generated meaningful changes detector, programmers are presented with quicker feedback for adjusting the learnt specifications. An illustrative example is used to show how such an inductive learning procedure might be applied.