Powered by
2017 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2017),
September 4–8, 2017,
Paderborn, Germany
Doctoral Symposium
Tue, Sep 5, 09:00 - 17:00, F0.225
Using Search-Based Software Engineering to Handle the Changes with Uncertainties for Self-Adaptive Systems
Lu Wang
(Xidian University, China)
The changes confronting contemporary Self-Adaptive Systems (SASs) are characterized by uncertainties in their relationships, priorities, and contexts. To generate adaptation strategies for handling these changes, existing adaptation planning methods, which ignore these uncertainties, must be improved. This thesis explores the possibilities of using Search-Based Software Engineering (SBSE) to establish a search-based planning method capable of handling multiple changes in an uncertain context without defining their priorities. Meanwhile, both the assurance approach to improving the efficiency of adaptation planning and the selection approach to choosing a unique strategy are proposed to solve emerging research questions that arise when such planning method is applied in actual SASs. From this experience, we are able to derive innovative methods for the designers of SASs as a reference, which may observably improve the ability of SASs and promote the widespread use of SBSE in SASs.
@InProceedings{ESEC/FSE17p1014,
author = {Lu Wang},
title = {Using Search-Based Software Engineering to Handle the Changes with Uncertainties for Self-Adaptive Systems},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1014--1017},
doi = {},
year = {2017},
}
DRACO: Discovering Refactorings That Improve Architecture using Fine-Grained Co-change Dependencies
Marcos César de Oliveira
(University of Brasília, Brazil)
Co-change dependencies arise whenever two source code entities, such as classes, methods, or fields, change frequently together. Similar to other kinds of software dependencies, it is possible to build software clusters from co-change relationships and, as such, previous studies explored the use of this kind of dependency in several software engineering tasks, such as predicting software faults, recommending related source code changes, and assessing software modularity. In this ongoing work, our goal is to provide tools to discover refactoring opportunities—such as move method, move field, split class, or merge classes-that are revealed when comparing the co-change clusters of fine-grained source code entities (methods, fields, constructors) to the original class decomposition; specifically when a source code entity is in the same class but in different clusters (or vice-versa). Our approach, named Draco, aims to produce minimal refactoring sequences that improve architecture decomposition.
@InProceedings{ESEC/FSE17p1018,
author = {Marcos César de Oliveira},
title = {DRACO: Discovering Refactorings That Improve Architecture using Fine-Grained Co-change Dependencies},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1018--1021},
doi = {},
year = {2017},
}
User- and Analysis-Driven Context Aware Software Development in Mobile Computing
Mai Abusair
(University of L'Aquila, Italy)
Mobile applications may benefit from context awareness since they
incur to context changes during their execution and their success
depends on the user perceived quality. Context awareness requires
context monitoring and system adaptation, these two tasks are very
expensive especially in mobile applications. Our research aims at
developing a methodology that enables effective context awareness
techniques for mobile applications that allows adaptations of the
mobile app to context changes so that the desired system quality
properties and user satisfaction is maximized. Here effective means
selecting a minimum set of context variables to monitor and a minimum
set of adaptive tactics to inject into mobile applications that
allows to guarantee the required software quality and to maximize
the user satisfaction. In this paper, we show the devised methodology
on a motivating example, detailing the ongoing work.
@InProceedings{ESEC/FSE17p1022,
author = {Mai Abusair},
title = {User- and Analysis-Driven Context Aware Software Development in Mobile Computing},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1022--1025},
doi = {},
year = {2017},
}
Recommender System for Model Driven Software Development
Stefan Kögel
(University of Ulm, Germany)
Models are key artifacts in model driven software engineering,
similar to source code in traditional software engineering.
Integrated development environments help users while writing source code,
e.g. with typed auto completions, quick fixes, or automatic refactorings.
Similar integrated features are rare for modeling IDEs.
The above source code IDE features can be seen as a recommender system.
A recommender system for model driven software engineering
can combine data from different sources in order to infer a list of relevant and actionable model changes
in real time.
These recommendations can speed up working on models by automating repetitive tasks
and preventing errors when the changes are atypical for the changed models.
Recommendations can be based on common model transformations
that are taken from the literature
or learned from models in version control systems.
Further information can be taken from instance- to meta-model relationships,
modeling related artifacts (e.g. correctness constraints),
and versions histories of models under version control.
We created a prototype recommender that analyses the change history of a single model.
We computed its accuracy via cross-validation and found that it was between 0.43 and 0.82
for models from an open source project.
In order to have a bigger data set for the evaluation and the learning of model transformation,
we also mined repositories from Eclipse projects for Ecore meta models and their versions.
We found 4374 meta models with 17249 versions.
244 of these meta models were changed at least ten times
and are candidates for learning common model transformations.
We plan to evaluate our recommender system in two ways:
(1) In off-line evaluations with data sets of models from the literature, created by us, or taken from industry partners.
(2) In on-line user studies with participants from academia and industry, performed as case studies and controlled experiments.
@InProceedings{ESEC/FSE17p1026,
author = {Stefan Kögel},
title = {Recommender System for Model Driven Software Development},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1026--1029},
doi = {},
year = {2017},
}
On the Similarity of Software Development Documentation
Mathias Ellmann
(University of Hamburg, Germany)
Software developers spent 20% of their time on information seeking on Stack Overflow, YouTube or an API reference documentation. Software developers can search within Stack Overflow for duplicates or similar posts. They can also take a look on software development documentations that have similar and additional information included as a Stack Overflow post or a development screencast in order to get new inspirations on how to solve their current development problem. The linkage of same and different types of software development documentation might safe time to evolve new software solutions and might increase the productivity of the developer’s work day. In this paper we will discuss our approach to get a broader understanding of different similarity types (exact, similar and maybe) within and between software documentation as well as an understanding of how different software documentations can be extended.
@InProceedings{ESEC/FSE17p1030,
author = {Mathias Ellmann},
title = {On the Similarity of Software Development Documentation},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1030--1033},
doi = {},
year = {2017},
}
Application of Search-Based Software Engineering Methodologies for Test Suite Optimization and Evolution in Mission Critical Mobile Application Development
Andreas Schuler
(University of Applied Sciences Upper Austria, Austria)
The demand for high quality mobile applications is constantly rising, especially in mission critical settings. Thus, new software engineering methodologies are needed in order to ensure the desired quality of an application. The research presented proposes a quality assurance methodology for mobile applications through test automation by optimizing test suites. The desired goal is to find a minimal test suite while maintaining efficiency and reducing execution cost. Furthermore to avoid invalidating an optimized test suite as the system under test evolves, the approach further proposes to extract patterns from the applied changes to an application. The evaluation plan comprises a combination of an empirical and an industrial case study based on open source projects and an industrial project in the healthcare domain. It is expected that the presented approach supports the testing process on mobile application platforms.
@InProceedings{ESEC/FSE17p1034,
author = {Andreas Schuler},
title = {Application of Search-Based Software Engineering Methodologies for Test Suite Optimization and Evolution in Mission Critical Mobile Application Development},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1034--1037},
doi = {},
year = {2017},
}
Summarizing Software Engineering Communication Artifacts from Different Sources
Verena Käfer
(University of Stuttgart, Germany)
During software development, developers communicate a lot and with many different people. Communication is an important factor, to the point that communication failures are seen as the causes of productivity losses or even project failures. To communicate with each other, software developers use many different tools like mailing lists, forums, issue trackers or chats.
Even in a short time span, a lot of information artifacts can arise through these channels, which can be very time consuming to get through after a long vacation or for new members of the team. This paper describes a research plan for an approach which can summarize different communication sources into one big summary using and improving existing text summarization approaches. The resulting tool would have the potential to decrease the effort needed for sense-making and comprehension of communication, as well as the time needed for locating and using information from the communication sources. This reduction in effort will result in a significant increase in the productivity of software development companies.
@InProceedings{ESEC/FSE17p1038,
author = {Verena Käfer},
title = {Summarizing Software Engineering Communication Artifacts from Different Sources},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1038--1041},
doi = {},
year = {2017},
}
Model-Based Dynamic Software Project Scheduling
Natasha Nigar
(University of Birmingham, UK)
Software project scheduling, under uncertain and dynamic environments, is one of the most important challenges in software engineering. Recent studies addressed this challenge in both static and dynamic scenarios for small and medium size software projects. The increasing trend of cloud based software solutions (large scale software projects) needs agility not only for sustainable maintenance but also for in time and within budget completion. Therefore, this paper formulates software project scheduling problem (SPSP) as an optimization problem under uncertainties and dynamics for hybrid scRUmP software model. In this regard, a mathematical model is constructed with five objectives as project duration, task fragmentation, robustness, cost, and stability.
@InProceedings{ESEC/FSE17p1042,
author = {Natasha Nigar},
title = {Model-Based Dynamic Software Project Scheduling},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1042--1045},
doi = {},
year = {2017},
}
System Performance Optimization via Design and Configuration Space Exploration
Chong Tang
(University of Virginia, USA)
The runtime performance of a software system often depends on a large number of static parameters, which usually interact in complex ways to carry out system functionality and influence system performance. It's hard to understand such configuration spaces and find good combinations of parameter values to gain available levels of performance. Engineers in practice often just accept the default settings, leading such systems to significantly underperform relative to their potential. This problem, in turn, has impacts on cost, revenue, customer satisfaction, business reputation, and mission effectiveness. To improve the overall performance of the end-to-end systems, we propose to systematically explore (i) how to design new systems towards good performance through design space synthesis and evaluation, and (ii) how to auto-configure an existing system to obtain better performance through heuristic configuration space search. In addition, this research further studies execution traces of a system to predict runtime performance under new configurations.
@InProceedings{ESEC/FSE17p1046,
author = {Chong Tang},
title = {System Performance Optimization via Design and Configuration Space Exploration},
booktitle = {Proc.\ ESEC/FSE},
publisher = {ACM},
pages = {1046--1049},
doi = {},
year = {2017},
}
proc time: 1.14