0% found this document useful (0 votes)
12 views3 pages

Machine Learning Software Engineering

The conference paper discusses the integration of machine learning (ML) into software engineering (SE), highlighting its applications in behavior extraction, testing, and bug fixing. It aims to provide an accessible introduction to ML for software engineers, focusing on the models and methods relevant to SE challenges. The authors emphasize the need for greater awareness and understanding of ML techniques to enhance software development practices and address emerging complexities in the field.

Uploaded by

Moch. Lutfi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views3 pages

Machine Learning Software Engineering

The conference paper discusses the integration of machine learning (ML) into software engineering (SE), highlighting its applications in behavior extraction, testing, and bug fixing. It aims to provide an accessible introduction to ML for software engineers, focusing on the models and methods relevant to SE challenges. The authors emphasize the need for greater awareness and understanding of ML techniques to enhance software development practices and address emerging complexities in the field.

Uploaded by

Moch. Lutfi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/321807797

Machine Learning for Software Engineering Models, Methods, and Applications

Conference Paper · December 2017


DOI: 10.1145/3183440.3183461

CITATIONS READS
32 2,538

2 authors:

Karl Meinke Amel Bennaceur


KTH Royal Institute of Technology The Open University
83 PUBLICATIONS 1,105 CITATIONS 79 PUBLICATIONS 835 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Karl Meinke on 14 December 2017.

The user has requested enhancement of the downloaded file.


Machine Learning for So�ware Engineering
Models, Methods, and Applications

Karl Meinke Amel Bennaceur


KTH Royal Institute of Technology, Sweden The Open University, UK
[email protected] [email protected]

ABSTRACT Machine learning is a mature discipline with many excellent


Machine Learning (ML) is the discipline that studies methods for modern introductions to the subject. However, perspectives on
automatically inferring models from data. Machine learning has ML from software engineering are less common [2], and an intro-
been successfully applied in many areas of software engineering duction for software engineers that attempts to be both accessible
ranging from behaviour extraction, to testing, to bug �xing. Many and pedagogic, is a rare thing. Furthermore, at least some of the
more applications are yet be de�ned. However, a better understand- ML methods currently applied to SE are not widely discussed in
ing of ML methods, their assumptions and guarantees would help mainstream ML. There is much more to ML than deep learning.
software engineers adopt and identify the appropriate methods for With these motivations in mind, we will present in this technical
their desired applications. We argue that this choice can be guided brie�ng an introduction to machine learning for software engineer-
by the models one seeks to infer. In this technical brie�ng, we re- ing researchers and practitioners having little or no experience of
view and re�ect on the applications of ML for software engineering ML. This material might also be useful for the AI community to
organised according to the models they produce and the methods better understand the limitations of their methods in an SE context.
they use. We introduce the principles of ML, give an overview of To structure our presentation, we will focus on three questions
some key methods, and present examples of areas of software engi- that we think should be addressed before attempting any new ML
neering bene�ting from ML. We also discuss the open challenges solution to an existing software engineering problem. These are:
for reaching the full potential of ML for software engineering and • What class of learned models is appropriate for solving an
how ML can bene�t from software engineering methods. SE problem?
• For this class of models, are there any existing learning algo-
CCS CONCEPTS rithms that will work for typical instances and sizes of my SE
• Computing methodologies → Machine learning; • Software problem? Otherwise, is it possible to adapt any fundamental
and its engineering → Model-driven software engineering; ML principles to derive new learning algorithms?
• Has anyone considered a similar SE problem, and was it
ACM Reference Format: tractable to an ML solution?
Karl Meinke and Amel Bennaceur. 2018. Machine Learning for Software
Engineering: Models, Methods, and Applications. In Proceedings of ICSE
2018. ACM, New York, NY, USA, 2 pages. https://doi.org/10.475/123_4 2 RELEVANCE AND TIMELINESS
There is a strong trend in software engineering towards agile soft-
1 INTRODUCTION ware development, which emphasises incremental and exploratory
coding. However, agility de-emphasises the construction of many
One can scarcely open a newspaper or switch on the TV nowadays traditional artefacts such as requirements speci�cations, models, re-
without hearing about machine learning (ML), data mining, big data ports and documentation, which are typically required for software
analytics, and the radical changes which they o�er society. However, analysis. To meet the needs of changing approaches to software
these technologies have so far had surprisingly little impact on development, future SE techniques and tools will need to be much
software engineers themselves. By examining the recent literature, more automated, lightweight, adaptable and scalable, to keep pace
we can see small but perhaps signi�cant changes emerging on the with increased developer productivity. In particular, they will need
horizon for our discipline. Surely one obstacle to the take-up of to construct their own analysis artefacts and models.
these exciting technologies in software engineering (SE) is a general Another new line of research concerns using ML to cope with
lack of awareness of how they might be applied. What problems can systems integration problems and systems-of-systems such as the
ML currently solve? Are such problems at all relevant for software Internet of Things. This involves for example statistical learning for
engineers? service matchmaking and automata learning for emergent middle-
ware. Note that there is currently no single conference for all these
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
topics, so the community is poorly connected. The organisation of
for pro�t or commercial advantage and that copies bear this notice and the full citation thematic workshops such as: (1) Machine Learning Technologies in
on the �rst page. Copyrights for components of this work owned by others than ACM Software Engineering at ASE 2011, (2) Machine Learning for System
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior speci�c permission and/or a Construction at ISoLA 2011, and (3) AI meets Formal Software Devel-
fee. Request permissions from [email protected]. opment at Schloss Dagstuhl 2012, illustrate the growing interest in
ICSE 2018, May 2018, Gothenburg, Sweden the �eld.
© 2018 Association for Computing Machinery.
ACM ISBN 123-4567-24-567/08/06. . . $15.00 This proposed technical brie�ng will provide a compact intro-
https://doi.org/10.475/123_4 duction to ML methods and their use in SE, in conjunction with
ICSE 2018, May 2018, Gothenburg, Sweden Karl Meinke and Amel Bennaceur

the launch of our new book in early 2018, Machine Learning for will succeed. Therefore, we believe that it is bene�cial to have some
Dynamic Software Analysis: Potentials and Limits. This book is based insight into some general principles of learning that go beyond
on a Dagstuhl Seminar [1], which we co-organised. speci�c algorithms.

3 BACKGROUND 3.3 Applications


The technical brie�ng is intended for a broad audience of software We also believe it will be bene�cial for software engineers to read
engineering researchers and practitioners. No prior knowledge about success stories in applying ML to SE. Therefore, we will try to
of ML techniques is required, a basic knowledge of modelling is outline some SE applications where ML has already been tried with
recommended. We will provide the participants with a handout some degree of success. Scalability in the face of growing software
beforehand and we will provide practical examples throughout complexity is one of the greatest challenges for SE toolmakers.
the presentation. All the material will be available online, and will Therefore, information (however ephemeral) about the state of the
remain online afterwards. As depicted in Figure 1, the presentation art in solved problem sizes is also relevant.
will be structured around three main concepts: models, methods,
Software Engineering
and applications.
Software Software Software Software Software Software
Un- Semi- Requirements Design Construction Testing Maintenance Configuration
supervised supervised
Specification extraction design pattern Program generation Test case generation Bug detection Learning adaptation
recognition strategies

Figure 2: Applications of ML for software engineering


Reinfor-
Supervised Methods cement
4 PRESENTERS
Automata
Model The presenters have complementary expertise in machine learn-
extraction
ing and software engineering. They have co-organised a Dagstuhl
Logic
formula
Testing seminar [1] and are co-authoring a follow-up chapter.
Prof. Dr. Karl Meinke. In the last ten years Meinke and his
Models ML fo SE Applications group have pioneered new applications of machine learning com-
bined with model checking to the problem of functional require-
ments testing for software and systems. Group research has studied
Functions Integration

Numeric Security the learning problem for both procedural and reactive systems.
Numerical function approximation as well as symbolic automaton
parameters & Privacy

Figure 1: Key concepts of ML for software engineering learning methods have been considered. Our main requirements
testing tool LBTest[3] (http://www.lbtest.org) has been evaluated in
3.1 Models sectors such as automotive, avionics, �nance and web, and by major
A learning algorithm constructs a model M from a given data set D. Swedish multinational companies such as SAAB Aerospace, Scania
This model represents some sort of synthesis of the facts contained and Volvo. Meinke has a publication track record in the areas of
in D. Most machine learning algorithms perform inductive infer- machine learning for �nite and in�nite state systems, theoretical
ence, to extract general principles, laws or rules from the speci�c principles of learning-based testing, and practical tools and case
observations in D. Otherwise, learning would simply correspond studies for learning-based testing.
to memorisation. So a model M typically contains a combination of Dr. Amel Bennaceur is a Lecturer in Computing at the Open Uni-
facts (from D) and conjectures which have some predictive power. versity, UK. She received her PhD degree in Computer Science from
For software analysis, it is sometimes appropriate to learn an ex- the University of Paris VI in 2013. Her research interests include
plicit model of computation such as an automaton model. At other dynamic mediator synthesis for interoperability and collaborative
times, an implicit model such as a function approximation model security. She was part of the C������ and EternalS EU projects
may be used. that explored synergies between machine learning and software
3.2 Methods synthesis [4]. The results of her work have been published in lead-
ing conferences and journals such as Middleware, ECSA, and IEEE
The scope and power of algorithms to learn interesting models
TSE. She has also been invited to present the results of this work
increases each year, thanks to the extraordinary productivity of
in various scienti�c events such as Dagstuhl and Shonan seminars.
the AI community. Therefore, what was technically infeasible �ve
years ago, may have changed or be about to change. This rapid REFERENCES
pace of development is re�ected in the media excitement. How- [1] A. Bennaceur, D. Giannakopoulou, R. Hähnle, and K. Meinke. 2016. Machine
ever, the SE community needs to be more aware, on a technical Learning for Dynamic Software Analysis: Potentials and Limits (Seminar 16172).
level, of these changes, as well as the fundamental and unchanging Dagstuhl Reports 6, 4 (2016), 161–173. https://doi.org/10.4230/DagRep.6.4.161
[2] P. Louridas and C. Ebert. 2016. Machine Learning. IEEE Software 33, 5 (2016),
theoretical limits. For example, very broad classes of models (e.g. 110–115. https://doi.org/10.1109/MS.2016.114
Turing machines) are known to be infeasible to learn under any [3] K. Meinke and M. A. Sindhu. 2013. LBTest: A Learning-Based Testing Tool for
Reactive Systems. In Sixth IEEE Int. Conf. on Software Testing, Veri�cation and
circumstances. Validation, ICST 2013, Luxembourg, March 18-22, 2013. 447–454.
Such negative results do not necessarily mean that ML cannot [4] A. Bennaceur et al. 2012. Machine Learning for Emergent Middleware. In Proc. of
be used for your SE problem. Nor does media hype imply that you EternalS’12. 16–29.

View publication stats

You might also like