ICSE 2013 - May 18-26, 2013, San Francisco, CA, USA
Powered by
Conference Publishing Consulting

2013 2nd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE), May 25-26, 2013, San Francisco, CA, USA

RAISE 2013 – Proceedings

Contents - Abstracts - Authors

2nd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE)


Title Page

SE has much to offer AI about systems engineering and scalability of methodologies. And AI has much to offer SE about the development of complex dynamic, automated, and adaptive systems. But, on practice, this theoretical connection between SE and AI is rarely achieved. So in this workshop, we ask the questions are SE and AI researchers ignoring important insights from AI and SE? To answer this question, RAISE ’13 is a crossover workshop where the state of the art in both fields is documented and extended. We invite papers that explore not only the application of AI techniques to SE but also the application of SE techniques to AI.


SE and AI: A Two-Way Street
John A. Clark
(University of York, UK)
This paper provides an eclectic set of challenges for the SE and AI communities, seeking to drive progress of benefit to both.
Article Search
The Synergy of Human and Artificial Intelligence in Software Engineering
Tao Xie
(North Carolina State University, USA)
To reduce human efforts and burden on human intelligence in software-engineering activities, Artificial Intelligence (AI) techniques have been employed to assist or automate these activities. On the other hand, humans domain knowledge can serve as starting points for designing AI techniques. Furthermore, the results of AI techniques are often interpreted or verified by human users. Such user feedback could be incorporated to further improve the AI techniques, forming a continuous feedback loop. We recently proposed cooperative testing and analysis including human-tool cooperation (consisting of human-assisted computing and human-centric computing) and human-human cooperation. In this paper, we present example software-engineering problems with solutions that leverage the synergy of human and artificial intelligence, and illustrate how cooperative testing and analysis can help realize such synergy.
Article Search


Bayesian Artificial Intelligence for Tackling Uncertainty in Self-Adaptive Systems: The Case of Dynamic Decision Networks
Nelly Bencomo, Amel Belaggoun, and Valerie Issarny
(INRIA, France)
In recent years, there has been a growing interest towards the application of artificial intelligence approaches in software engineering (SE) processes. In the specific area of SE for self-adaptive systems (SASs) there is a growing research awareness about the synergy between SE and AI. However, just few significant results have been published. This paper briefly studies uncertainty in SASs and surveys techniques that have been developed to engineer SASs in order to tackle uncertainty. In particular, we highlight techniques that use AI concepts. We also report and discuss our own experience using Dynamic Decision Networks (DDNs) to model and support decision-making in SASs while explicitly taking into account uncertainty. We think that Bayesian inference, and specifically DDNs, provide a useful formalism to engineer systems that dynamically adapt themselves at runtime as more information about the environment and the execution context is discovered during execution. We also discuss partial results, challenges and future research avenues.
Article Search
Using Spectral Clustering to Automate Identification and Optimization of Component Structures
Constanze Deiters, Andreas Rausch, and Mirco Schindler
(TU Clausthal, Germany)
A well-structured, modular software architecture is known to support comprehensibility, maintainability and extensibility of a software system. To achieve this goal the software system is divided into components in such a way that its component structure is optimized regarding cohesion and coupling. But with increasing size and complexity identifying and evaluating a component structure can be rarely accomplished by humans manually. To support this task, we developed an approach using Spectral Clustering from the field of neural computation. Based on the different dependencies between software elements, our approach automatically forms a component structure of the analyzed software system. In a case study we demonstrate this approach on a software system of manually manageable size and complexity. The results are compared to the component structure skilled software architects manually formed. In most cases both variants, manually as well as automated, provide similar component structures. For this reason, the presented approach seems to be suitable for systems which are not manageable by hand.
Article Search
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Abdel Salam Sayyad and Hany Ammar
(West Virginia University, USA)
The Search-Based Software Engineering (SBSE) community is increasingly recognizing the inherit multiobjectiveness in Software Engineering problems. The old ways of aggregating all objectives into one may very well be behind us. We perform a well-deserved literature survey of SBSE papers that used multiobjective search to find Pareto-optimal solutions, and we pay special attention to the chosen algorithms, tools, and quality indicators, if any. We conclude that the SBSE field has seen a trend of adopting the Multiobjective Evolutionary Optimization Algorithms (MEOAs) that are widely used in other fields (such as NSGA-II and SPEA2) without much scrutiny into the reason why one algorithm should be preferred over the others. We also find that the majority of published work only tackled two-objective problems (or formulations of problems), leaving much to be desired in terms of exploiting the power of MEOAs to discover solutions to intractable problems characterized by many trade-offs and complex constraints.
Article Search

Requirements and Design

Addressing the QoS Drift in Specification Models of Self-Adaptive Service-Based Systems
Romina Torres, Nelly Bencomo, and Hernan Astudillo
(Federico Santa María Technical University, Chile; INRIA, France)
Analysts elaborate precise and verifiable specifica- tion models, using as inputs non-functional requirements and assumptions drawn from the current environment studied at design time. As most real world applications exist in dynamic environments, recently there has been research efforts towards the design of software systems that use their specification models during runtime. The main idea is that software systems should endeavor to keep their requirements satisfied by adapting their architectural configurations when appropriated. Unfortunately, such specifications models use specific numbers (i.e. values) to specify non-functional constraints (NFCs) and may become rapidly obsolete during runtime given the drastic changes that operational environments can go through. The above may create circumstances when software systems are unaware that their requirements have been violated. To mitigate the obsolescence of specification models we have already proposed to use computing with words (CWW) to represent the NFCs with linguistic values instead of numbers. The “numerical meanings” of these linguistic values are computed from the measurements of non-functional properties (NFPs) gathered by a monitoring infrastructure. This article introduces the concept of “QoS-drift” to represent a significant degree of change in the “numerical meanings” of the linguistic values of the NFPs in the service market. We add to our former proposal a QoS-drift’s vigilance unit to update linguistic values only when a QoS-drift is detected. Therefore, the new models are proactive and automatically maintained, what results in a more efficient assessment of run-time requirements’ compliance under non-stationary environments. We validate the effectiveness of our approach using (1) a service market of 1500 services with two NFPs, (2) a synthetical QoS-drift and, (3) five systems built by different service compositions. We have detected that four of the five systems experienced requirements violations that would not have been detected without the use of our approach.
Article Search
High Assurance Human-Centric Decision Systems
Constance Heitmeyer, Marc Pickett, Len Breslow, David Aha, J. Greg Trafton, and Elizabeth Leonard
(Naval Research Laboratory, USA)
Many future decision support systems will be human-centric, i.e., require substantial human oversight and control. Because these systems often provide critical services, high assurance will be needed that they satisfy their requirements. How to develop ``high assurance human-centric decision systems" is unknown: while significant research has been conducted in areas such as agents, cognitive science, and formal methods, how to apply and integrate the design principles and disparate models in each area is unclear. This paper proposes a novel process for developing human-centric decision systems in which AI (artificial intelligence) methods--namely, cognitive models to predict human behavior and agents to assist the human--are used to achieve adequate system performance, and software engineering methods--namely, formal modeling and analysis--to obtain high assurance. To support this process, the paper introduces a software engineering technique--formal model synthesis from scenarios--and two AI techniques--a model for predicting human overload and user model synthesis from human participant studies data. To illustrate the process and techniques, the paper describes a decision system controlling unmanned air vehicles.
Article Search

Data Repositories

Predicting More from Less: Synergies of Learning
Ekrem Kocaguneli, Bojan Cukic, and Huihua Lu
(West Virginia University, USA)
Thanks to the ever increasing importance of project data, its collection has been one of the primary focuses of software organizations. Data collection activities have resulted in the availability of massive amounts of data through software data reposi- tories. This is great news for the predictive modeling research in software engineering. However, widely used supervised methods for predictive modeling require labeled data that is relevant to the local context of a project. This requirement cannot be met by many of the available data sets, introducing new challenges for software engineering research. How to transfer data between different contexts? How to handle insufficient number of labeled instances? In this position paper, we investigate synergies between different learning methods (transfer, semi-supervised and active learning) which may overcome these challenges.
Article Search
Handling Missing Attributes using Matrix Factorization
Övünç Bozcan and Ayşe Başar Bener
(Bogazici University, Turkey; Ryerson University, Canada)
Predictive models that use machine learning techniques has been useful tools to guide software project managers in making decisions under uncertainty. However in practice collecting metrics or defect data has been a troublesome job and researchers often have to deal with incomplete datasets in their studies. As a result both researchers and practitioners shy away from implementing such models. Missing data is a common problem in other domains to build recommender systems. We believe that the techniques used to overcome missing data problem in other domains can also be employed in software engineering. In this paper we propose Matrix Factorization algorithm to tackle with missing data problem in building predictive models in software development domain.
Article Search

proc time: 0.2