180 research outputs found
Perception and Acceptance of an Autonomous Refactoring Bot
The use of autonomous bots for automatic support in software development
tasks is increasing. In the past, however, they were not always perceived
positively and sometimes experienced a negative bias compared to their human
counterparts. We conducted a qualitative study in which we deployed an
autonomous refactoring bot for 41 days in a student software development
project. In between and at the end, we conducted semi-structured interviews to
find out how developers perceive the bot and whether they are more or less
critical when reviewing the contributions of a bot compared to human
contributions. Our findings show that the bot was perceived as a useful and
unobtrusive contributor, and developers were no more critical of it than they
were about their human colleagues, but only a few team members felt responsible
for the bot.Comment: 8 pages, 2 figures. To be published at 12th International Conference
on Agents and Artificial Intelligence (ICAART 2020
On the Unification of Megamodels
Through the more and more widespread application of model-driven engineering (MDE) and the increasing diversity in applied modeling paradigms within single projects, there is an increasing need to capture not only models in isolation but also their relations.This paper is a survey on techniques capturing such relations, such as megamodels or macromodels, based on existing scientific literature. Therefore, we consider various definitions of these techniques. We further examine characteristics of the different techniques.We will propose a unified core definition of a megamodel that captures the core properties of megamodels and which can be extended to the needs of the different applications of megamodels.Finally, we give an outlook on arising application areas for megamodels
Predicting build outcomes in continuous integration using textual analysis of source code commits
Machine learning has been increasingly used to solve various software engineering tasks. One example of its usage is to predict the outcome of builds in continuous integration, where a classifier is built to predict whether new code commits will successfully compile. The aim of this study is to investigate the effectiveness of fifteen software metrics in building a classifier for build outcome prediction. Particularly, we implemented an experiment wherein we compared the effectiveness of a line-level metric and fourteen other traditional software metrics on 49,040 build records that belong to 117 Java projects. We achieved an average precision of 91% and recall of 80% when using the line-level metric for training, compared to 90% precision and 76% recall for the next best traditional software metric. In contrast, using file-level metrics was found to yield a higher predictive quality (average MCC for the best software metric= 68%) than the line-level metric (average MCC= 16%) for the failed builds. We conclude that file-level metrics are better predictors of build outcomes for the failed builds, whereas the line-level metric is a slightly better predictor of passed builds
Raising awareness for potential sustainability effects in Uganda: A survey-based empirical study
Copyright © 2019 for this paper by its authors. In July 2019, we ran the 3rd International BRIGHT summer school for Software Engineering and Information Systems at the Makerere University in Kampala, Uganda. The participants developed a group project over the course of the week, which included the application of the Sustainability Awareness Framework. The framework promotes discussion on the impact of software systems on sustainability based on a set of questions. In this paper, we present the educational evaluation of the Sustainability Awareness Framework in a country in Sub-Saharan Africa. The results indicate that the framework can provide supportive guidance of the societal and environmental challenges in the given context
An empirical study of the systemic and technical migration towards microservices
Context: As many organizations modernize their software architecture and transition to the cloud, migrations towards microservices become more popular. Even though such migrations help to achieve organizational agility and effectiveness in software development, they are also highly complex, long-running, and multi-faceted. Objective: In this study we aim to comprehensively map the journey towards microservices and describe in detail what such a migration entails. In particular, we aim to discuss not only the technical migration, but also the long-term journey of change, on a systemic level. Method: Our research method is an inductive, qualitative study on two data sources. Two main methodological steps take place – interviews and analysis of discussions from StackOverflow. The analysis of both, the 19 interviews and 215 StackOverflow discussions, is based on techniques found in grounded theory. Results: Our results depict the migration journey, as it materializes within the migrating organization, from structural changes to specific technical changes that take place in the work of engineers. We provide an overview of how microservices migrations take place as well as a deconstruction of high level modes of change to specific solution outcomes. Our theory contains 2 modes of change taking place in migration iterations, 14 activities and 53 solution outcomes of engineers. One of our findings is on the architectural change that is iterative and needs both a long and short term perspective, including both business and technical understanding. In addition, we found that a big proportion of the technical migration has to do with setting up supporting artifacts and changing the paradigm that software is developed
Facing the Giant: a Grounded Theory Study of Decision-Making in Microservices Migrations
Background: Microservices migrations are challenging and expensive projects
with many decisions that need to be made in a multitude of dimensions. Existing
research tends to focus on technical issues and decisions (e.g., how to split
services). Equally important organizational or business issues and their
relations with technical aspects often remain out of scope or on a high level
of abstraction. Aims: In this study, we aim to holistically chart the
decision-making that happens on all dimensions of a migration project towards
microservices (including, but not limited to, the technical dimension). Method:
We investigate 16 different migration cases in a grounded theory interview
study, with 19 participants that recently migrated towards microservices. This
study strongly focuses on the human aspects of a migration, through
stakeholders and their decisions. Results: We identify 3 decision-making
processes consisting of 22decision-points and their alternative options. The
decision-points are related to creating stakeholder engagement and assessing
feasibility, technical implementation, and organizational restructuring.
Conclusions: Our study provides an initial theory of decision-making in
migrations to microservices. It also outfits practitioners with a roadmap of
which decisions they should be prepared to make and at which point in the
migration.Comment: 11 pages, 7 figure
Walking Through the Method Zoo: Does Higher Education Really Meet Software Industry Demands?
Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and with latest knowledge about modern software and system development. Since industry demands change constantly, HEIs are challenged in meeting such current and future demands in a timely manner. This paper analyzes the current state of practice in software engineering education. Specifically, we want to compare contemporary education with industrial practice to understand if frameworks, methods and practices for software and system development taught at HEIs reflect industrial practice. For this, we conducted an online survey and collected information about 67 software engineering courses. Our findings show that development approaches taught at HEIs quite closely reflect industrial practice. We also found that the choice of what process to teach is sometimes driven by the wish to make a course successful. Especially when this happens for project courses, it could be beneficial to put more emphasis on building learning sequences with other courses
Involving External Stakeholders in Project Courses
Problem: The involvement of external stakeholders in capstone projects and
project courses is desirable due to its potential positive effects on the
students. Capstone projects particularly profit from the inclusion of an
industrial partner to make the project relevant and help students acquire
professional skills. In addition, an increasing push towards education that is
aligned with industry and incorporates industrial partners can be observed.
However, the involvement of external stakeholders in teaching moments can
create friction and could, in the worst case, lead to frustration of all
involved parties. Contribution: We developed a model that allows analysing the
involvement of external stakeholders in university courses both in a
retrospective fashion, to gain insights from past course instances, and in a
constructive fashion, to plan the involvement of external stakeholders. Key
Concepts: The conceptual model and the accompanying guideline guide the
teachers in their analysis of stakeholder involvement. The model is comprised
of several activities (define, execute, and evaluate the collaboration). The
guideline provides questions that the teachers should answer for each of these
activities. In the constructive use, the model allows teachers to define an
action plan based on an analysis of potential stakeholders and the pedagogical
objectives. In the retrospective use, the model allows teachers to identify
issues that appeared during the project and their underlying causes. Drawing
from ideas of the reflective practitioner, the model contains an emphasis on
reflection and interpretation of the observations made by the teacher and other
groups involved in the courses. Key Lessons: Applying the model retrospectively
to a total of eight courses shows that it is possible to reveal hitherto
implicit risks and assumptions and to gain a better insight into the
interaction...Comment: Abstract shortened since arxiv.org limits length of abstracts. See
paper/pdf for full abstract. Paper is forthcoming, accepted August 2017.
Arxiv version 2 corrects misspelled author nam
20th Workshop on Automotive Software Engineering (ASE’23)
Software-based systems play an increasingly important role and enable most innovations in modern cars. This workshop will address various topics related to automotive software development. The participants will discuss appropriate methods, techniques, and tools needed to address the most current challenges for researchers and practitioners
- …