ICSE 2012 Workshops
2012 34th International Conference on Software Engineering (ICSE)
Powered by
Conference Publishing Consulting

2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE), June 5, 2012, Zurich, Switzerland

RAISE 2012 – Proceedings

Contents - Abstracts - Authors

First International Workshop on Realizing AI Synergies in Software Engineering (RAISE)

Preface

Title Page


Foreword
We would like to take this opportunity to welcome you all to the first International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE 2012). We had a total of twenty two submissions, of which ten were accepted. This level of engagement is highly encouraging, and indicates the interest and regard that the community has for this interdisciplinary research. We would like to thank you all for your participation.
As this is the first Workshop that we have held on this topic and we are keen to demonstrate the type of papers that we expect, we decided to allow submissions by workshop organizers on this occasion. We followed a rigorous procedure for handling conflicts of interest during reviewing (as we also did for submissions by PC members) and we believe that the program is stronger for the inclusion of the resulting papers.
The program that we have put together touches on three main topics: semantic web technologies, modelling, and machine learning. This diversity is not surprising considering the interdisciplinary and embryonic nature of this field. There is still a great deal for us to research, and a multitude of paths for us to explore.
The RAISE workshop not only provides a forum for researchers interested in the synergies between AI and software engineering, but also provides us with a platform to raise awareness of our work within the wider computer science community as an exciting research area in its own right. We hope that RAISE will encourage other researchers to participate in this ongoing discussion, including those who may have been unclear about the challenges available in this area. With the creation of the RAISE workshop, we can begin to grow this community. Your attendance here today shapes the future discussions we will have, and we hope to see you all, together with any newcomers, in the workshops to come.
Rachel Harrison, Daniel Rodriguez, and Pedro Henriques Workshop organiser and co-chairs

Keynote

The Role of Artificial Intelligence in Software Engineering
Mark HarmanORCID logo
(University College London, UK)
There has been a recent surge in interest in the application of Artificial Intelligence (AI) techniques to Software Engineering (SE) problems. The work is typified by recent advances in Search Based Software Engineering, but also by long established work in Probabilistic reasoning and machine learning for Software Engineering. This paper explores some of the relationships between these strands of closely related work, arguing that they have much in common and sets out some future challenges in the area of AI for SE.

Session 1

Automated Prediction of Defect Severity Based on Codifying Design Knowledge Using Ontologies
Martin Iliev, Bilal Karasneh, Michel R. V. Chaudron, and Edwin Essenius
(Leiden University, Netherlands; Logica, Netherlands)
Assessing severity of software defects is essential for prioritizing fixing activities as well as for assessing whether the quality level of a software system is good enough for release. In filling out defect reports, developers routinely fill out default values for the severity levels. The purpose of this research is to automate the prediction of defect severity. Our aim is to research how this severity prediction can be achieved through reasoning about the requirements and the design of a system using ontologies. In this paper we outline our approach based on an industrial case study.

Clone Detection Meets Semantic Web-Based Transitive Closure Computation
Iman Keivanloo and Juergen Rilling
(Concordia University, Canada)
In this paper we discuss a new application of Semantic Web and Artificial Intelligence in software analysis research. We show on a concrete example - clone detection for object-oriented source code that transitivity closure computation can provide added value to the clone detection community. Our novel approach models the domain of discourse knowledge as a mixture of source code patterns and inheritance trees represented as Directed Acyclic Graphs. Our approach promotes the use of Semantic Web and inference engines in source code analysis. More specifically we take advantage of the Semantic Web and its support for knowledge modeling and transitive closure computation to detect semantic source code clones not detected by traditional detection tools.

Session 2

Intelligent Monitoring of Software Components
Sabine Moisan
(INRIA Sophia Antipolis Méditerranée, France)
We propose to use Artificial Intelligence techniques to monitor and control complex processing chains of software components. We consider software systems that run in an evolving environment and thus may require adaptation at run time. Our approach relies on knowledge representations of both structural and dynamic aspects of components and processing chains. The paper concentrates more precisely on run time adaptation to cope with context changes. Run time policies are expressed by means of inference rules. At run time an inference engine uses these rules to orchestrate the component chain, in particular to achieve run time adaptations, such as component parameter tuning or re-assembly of the processing chain. We describe the general evaluation-repair mechanism which involves to evaluate environment changes and execution results and then to trigger the suitable reconfigurations.

Synchronizing Domain Models with Natural Language Specifications
Mathias Landhäußer, Sven J. Körner, and Walter F. Tichy
(KIT, Germany)


GUI Reverse Engineering with Machine Learning
Inês Coimbra Morgado, Ana C. R. Paiva, João Pascoal Faria, and Rui Camacho
(University of Porto, Portugal; INESC Porto, Portugal)
This paper proposes a new approach to reduce the effort of building formal models representative of the structure and behaviour of Graphical User Interfaces (GUI). The main goal is to automatically extract the GUI model with a dynamic reverse engineering process, consisting in an exploration phase, that extracts information by interacting with the GUI, and in a model generation phase that, making use of machine learning techniques, uses the extracted information of the first step to generate a state-machine model of the GUI, including guard conditions to remove ambiguity in transitions.

Learning Gestures for Interacting with Low-Fidelity Prototypes
Tulio de Souza Alcantara, Jörg Denzinger, Jennifer Ferreira, and Frank Maurer
(University of Calgary, Canada)
This paper presents an approach to help designers create their own application-specific gestures and evaluate them in user-studies based on low fidelity prototypes of the application they are designing. In order to learn custom gestures, we developed a machine learning tool that uses an anti-unification algorithm to learn based on samples of the gesture provided by the designer.

Session 3

Machine Learning and Software Engineering in Health Informatics
David A. Clifton, Jeremy Gibbons ORCID logo, Jim Davies, and Lionel Tarassenko
(University of Oxford, UK)
Health informatics is a field in which the disciplines of software engineering and machine learning necessarily co-exist. This discussion paper considers the interaction of software engineering and machine learning, set within the context of health informatics, where the scale of clinical practice requires new engineering approaches from both disciplines. We introduce applications implemented in large on-going research programmes undertaken between the Departments of Engineering Science and Computer Science at Oxford University, the Oxford University Hospitals NHS Trust, and the Guy's and St Thomas' NHS Foundation Trust, London.

Predicting Mutation Score Using Source Code and Test Suite Metrics
Kevin Jalbert and Jeremy S. Bradbury
(University of Ontario, Canada)
Mutation testing has traditionally been used to evaluate the effectiveness of test suites and provide confidence in the testing process. Mutation testing involves the creation of many versions of a program each with a single syntactic fault. A test suite is evaluated against these program versions (mutants) in order to determine the percentage of mutants a test suite is able to identify (mutation score). A major drawback of mutation testing is that even a small program may yield thousands of mutants and can potentially make the process cost prohibitive. To improve the performance and reduce the cost of mutation testing, we propose a machine learning approach to predict mutation score based on a combination of source code and test suite metrics.

Context-Based Search to Overcome Learning Barriers in Software Development
Joel Cordeiro, Bruno Antunes, and Paulo Gomes
(University of Coimbra, Portugal)
During the software development process, developers are often faced with problem solving situations that motivate the use of the Web to search for information. However, there is a gap between the IDE and the Web, requiring the developers to spend significant time searching for relevant information and navigating through web pages in a Web browser. We propose a tool that aim to aid developers overcoming the learning barriers that exist when working with technologies that they do not master, facilitating the access to question/answer web resources through a context-based search interface, integrated in the IDE. We present an example of use, to better understand our approach.

On Software Engineering Repositories and Their Open Problems
Daniel Rodriguez, Israel Herraiz, and Rachel Harrison
(University of Alcalá, Spain; TU Madrid, Spain; Oxford Brookes University, UK)
In the last decade, a large number of software repositories have been created for different purposes. In this paper we present a survey of the publicly available repositories and classify the most common ones as well as discussing the problems faced by researchers when applying machine learning or statistical techniques to them.

proc time: 0.4