Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content
Context: Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of... more
Context: Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs. Objective: We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits. Methods: We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each Austin Z. Henley University of Tennessee, Knoxville, USA E-mail: azh@utk.edu Stratos Kourtzanidis University of Macedonia, Thessaloniki, Greece E-mail: ekourtzanidis@uom.edu.gr Eray Tüzün Department of Computer Engineering, Bilkent University, Ankara, Turkey E-mail: eraytuzun@cs.bilkent.edu.tr Christoph Treude University of Melbourne, Melbourne, Australia E-mail: christoph.treude@unimelb.edu.au Simin Maleki Shamasbi Independent Researcher, Tehran, ...
Architectural technical debt in software-intensive systems is a metaphor used to describe the ‘‘big’’ design decisions (e.g., choices regarding structure, frameworks, technologies, languages, etc.) that, while being suitable or even... more
Architectural technical debt in software-intensive systems is a metaphor used to describe the ‘‘big’’ design decisions (e.g., choices regarding structure, frameworks, technologies, languages, etc.) that, while being suitable or even optimal when made, significantly hinder progress in the future. While other types of debt, such as code-level technical debt, can be readily detected by static analyzers, and often be refactored with minimal or only incremental efforts, architectural debt is hard to be identified, of wide-ranging remediation cost, daunting, and often avoided. In this study, we aim at developing a better understanding of how software development organizations conceptualize architectural debt, and how they deal with it. In order to do so, in this investigation we apply a mixed empirical method, constituted by a grounded theory study followed by focus groups. With the grounded theory method we construct a theory on architectural technical debt by eliciting qualitative data ...
Mobile phones and tablets have become the most widely used computing devices, with a large predominance of the Android platform. As a natural evolution, the development of Android applications has surged and has become a major field of... more
Mobile phones and tablets have become the most widely used computing devices, with a large predominance of the Android platform. As a natural evolution, the development of Android applications has surged and has become a major field of study, with research efforts ranging from energy efficiency, to code smells, performance, maintainability, security, etc. These kind of challenges ask for dedicated solutions, tools, and datasets. This survey identifies and reviews 31 existing datasets of Android applications and classifies each of them according to key features, such as the total number of apps it contains, whether the commit history of the apps is available, whether it focusses on the source code or on the executable binaries of the apps, the sources used for building the dataset, etc. This study can benefit both the experienced and the novice researcher interested on doing research on Android apps, which can use the results of our study as a map for identifying the most suitable da...
Collaborative modeling is gaining a growing interest in both academia and industry. However, several research challenges remain open, including scalability, support for multi-user modeling environments, model versioning, migration,... more
Collaborative modeling is gaining a growing interest in both academia and industry. However, several research challenges remain open, including scalability, support for multi-user modeling environments, model versioning, migration, comparison, merging and conflict management. Recently, scientific research contributions related to collaborative model-driven software engineering (MDSE) are emerging, each of them focusing on different and specific aspects of collaboration and modelling. Still, many of these studies are scattered across multiple research areas such as software engineering, model-driven engineering, model integrated computing, etc. COMMitMDE 2017 has brought together researchers and practitioners to explore (i) the impact of collaborative SE methods and principles on MDE practices and (ii) how MDE methods and techniques can support collaborative software engineering activities. Also, the workshop aimed at assessing the state of the research and practice on Collaborative ...
Context. Developers have access to tools like Google Lighthouse to assess the performance of web apps and to guide the adoption of development best practices. However, when it comes to energy consumption of mobile web apps, these tools... more
Context. Developers have access to tools like Google Lighthouse to assess the performance of web apps and to guide the adoption of development best practices. However, when it comes to energy consumption of mobile web apps, these tools seem to be lacking. Goal. This study investigates on the correlation between the performance scores produced by Lighthouse and the energy consumption of mobile web apps. Method. We design and conduct an empirical experiment where 21 real mobile web apps are (i) analyzed via the Lighthouse performance analysis tool and (ii) measured on an Android device running a software-based energy profiler. Then, we statistically assess how energy consumption correlates with the obtained performance scores and carry out an effect size estimation. Results. We discover a statistically significant negative correlation between performance scores and the energy consumption of mobile web apps (with medium to large effect sizes), implying that an increase of the performan...
Permissions are one of the most fundamental components for protecting an Android user's privacy and security. Unfortunately, developers frequently misuse permissions by requiring too many or too few permissions, or by not adhering to... more
Permissions are one of the most fundamental components for protecting an Android user's privacy and security. Unfortunately, developers frequently misuse permissions by requiring too many or too few permissions, or by not adhering to permission best practices. These permission-related issues can negatively impact users in a variety of ways, ranging from creating a poor user experience to severe privacy and security implications. To advance the understanding permission-related issues during the app's development process, we conducted an empirical study of 574 GitHub repositories of open-source Android apps. We analyzed the occurrences of four types of permission-related issues across the lifetime of the apps. Our findings reveal that (i) permission-related issues are a frequent phenomenon in Android apps, (ii) the majority of issues are fixed within a few days after their introduction, (iii) permission-related issues can frequently linger inside an app for an extended period ...
This paper reports a summary of a study on Architectural Technical Debt (ATD) published in the Journal of Software and Systems [1]. By borrowing from the 16162 definition of technical debt, we can define ATD as a collection of design or... more
This paper reports a summary of a study on Architectural Technical Debt (ATD) published in the Journal of Software and Systems [1]. By borrowing from the 16162 definition of technical debt, we can define ATD as a collection of design or implementation constructs, present at the architectural level of software-intensive systems, that are expedient in the short term, but set up a technical context that can make future changes more costly or impossible. In the study we aimed at investigating how software practitioners conceptualize ATD, and how they deal with it. In order to do so, we conducted a mixed-method empirical study constituted by a Glaserian grounded theory, followed by an evaluation and refinement of the emerging theory via focus groups. The result of our investigation constitutes an encompassing conceptual model of architectural technical debt, identifying and relating concepts such as its symptoms, causes, consequences, management strategies, and communication problems. Th...
The next future will be pervaded by robots performing a variety of tasks (e.g., environmental monitoring, patrolling large public areas for security assurance). So far, researchers and practitioners are mainly focusing on... more
The next future will be pervaded by robots performing a variety of tasks (e.g., environmental monitoring, patrolling large public areas for security assurance). So far, researchers and practitioners are mainly focusing on hardware/software solutions for specialized and complex tasks; however, despite the accuracy and the advanced capabilities of current solutions, this trend leads to task-specific solutions, difficult to be reused and combined. In this paper we propose a family of domain-specific languages for specifying missions of multi-robot systems by means of models that are (i) independent from the technologies, (ii) ready to be analysed, simulated, and executed, (iii) extensible to new application areas, and (iv) closer to the problem domain, thus democratizing the use of robots to non-technical operators. We show the applicability of the proposed family of languages in a real project in the domain of autonomous unmanned aerial vehicles.
The mobile ecosystem is dramatically growing towards an unprecedented scale, with an extremely crowded market and fierce competition among app developers. Today, keeping users engaged with a mobile app is key for its success since users... more
The mobile ecosystem is dramatically growing towards an unprecedented scale, with an extremely crowded market and fierce competition among app developers. Today, keeping users engaged with a mobile app is key for its success since users can remain active consumers of services and/or producers of new contents. However, users may abandon a mobile app at any time due to various reasons, e.g., the success of competing apps, decrease of interest in the provided services, etc. In this context, predicting when a user may get disengaged from an app is an invaluable resource for developers, creating the opportunity to apply intervention strategies aiming at recovering from disengagement (e.g., sending push notifications with new contents).In this study, we aim at providing evidence that predicting when mobile app users get disengaged is possible with a good level of accuracy. Specifically, we propose, apply, and evaluate a framework to model and predict User Engagement (UE) in mobile applica...
The Android OS market is experiencing a growing share globally. It is becoming the mobile platform of choice for an increasing number of users. People rely on Android mobile devices for surfing the web, purchasing products, or to be part... more
The Android OS market is experiencing a growing share globally. It is becoming the mobile platform of choice for an increasing number of users. People rely on Android mobile devices for surfing the web, purchasing products, or to be part of a social network. The large amount of personal information that is exchanged makes privacy an important concern. As a result, the trustability of mobile apps is a fundamental aspect to be considered, particularly with regard to meeting the expectations of end users. The rigidities of the Android permission model confine end users into a secondary role, offering the only option of choosing between either privacy or functionalities. In this paper, we aim at improving the trustability of Android apps by proposing a user-centric approach to the flexible management of Android permissions. The proposed approach empowers end users to selectively grant permission by specifying (i) the desired level of permissions granularity and (ii) the specific features of the app in which the chosen permission levels are granted. Four experiments have been designed, conducted, and reported for evaluating it. The experiments consider performance, usability, and acceptance from both the end user's and developer's perspective. Results confirm confidence on the approach.
DUALLY is a framework that allows architectural languagesinteroperability through automated model transformationtechniques. Any transformation among ADLs isdefined in DUALLY by passing through A0 that is anextensible semantic core set of... more
DUALLY is a framework that allows architectural languagesinteroperability through automated model transformationtechniques. Any transformation among ADLs isdefined in DUALLY by passing through A0 that is anextensible semantic core set of modeling elements. In thispaper we ...
ABSTRACT A previous study, run by some of the authors in collaboration with practitioners, has emphasized the need to improve architectural languages in order to (i) make them simple and intuitive enough to communicate effectively with... more
ABSTRACT A previous study, run by some of the authors in collaboration with practitioners, has emphasized the need to improve architectural languages in order to (i) make them simple and intuitive enough to communicate effectively with project stakeholders, and (ii) enable formality and rigour to allow analysis and other automated tasks. Although a multitude of languages have been created by researchers and practitioners, they rarely address both of these needs. In order to reconcile these divergent needs, this paper presents an approach that (i) combines the rigorous foundations of model-driven engineering with the usability of semantic wikis, and (ii) enables continuous syncronization between them, this allows software architects to simultaneously use wiki pages for communication and models for model-based analysis and manipulation. In this paper we explain how we applied the approach to an industry-inspired case study using the Semantic Media Wiki wiki engine and a model-driven architecture description implemented within the Eclipse Modeling Framework. We also discuss how our approach can be generalized to other wiki-based and model-driven technologies.
ABSTRACT Model-Driven Engineering (MDE) can be consid- ered as the right tool to reduce the complexity of Wireless Sensor Network (WSN) development through its principles of abstraction, separation of concerns, reuse and automation. In... more
ABSTRACT Model-Driven Engineering (MDE) can be consid- ered as the right tool to reduce the complexity of Wireless Sensor Network (WSN) development through its principles of abstraction, separation of concerns, reuse and automation. In this paper we present the results of a systematic mapping study we performed for providing an organized view of existing MDE approaches for designing WSNs. A total number of 780 studies were analysed; among them, we selected 16 papers as primary studies relevant for review. We setup a comparison framework for these studies, and classified them based on a set of common parameters. The main objective of our research is to give an overview about the state-of-the-art of MDE approaches dedicated to WSN design, and finally, discuss emerging challenges that have to be considered in future MDE approaches for engineering WSNs.
In the model driven engineering community a model trans-formation is the process of converting one model to another model of the same system. While model transformation is becoming very popular, current languages support only the... more
In the model driven engineering community a model trans-formation is the process of converting one model to another model of the same system. While model transformation is becoming very popular, current languages support only the definition of point-to-point ...
Software veriflcation and validation has always been a hot- topic in software engineering and it is becoming even more important today due to the growing complexity of systems. Software systems are checked with respect to functional and... more
Software veriflcation and validation has always been a hot- topic in software engineering and it is becoming even more important today due to the growing complexity of systems. Software systems are checked with respect to functional and non functional requirements but this activity demands expertise in using speciflc tools and languages. Such expertise is not common inside development teams and
ABSTRACT Architecture Description Languages (ADLs) are the means to de-fine the software architecture of a complex system. ADLs are strongly related to stakeholder concerns: they must capture all de-sign decisions fundamental for... more
ABSTRACT Architecture Description Languages (ADLs) are the means to de-fine the software architecture of a complex system. ADLs are strongly related to stakeholder concerns: they must capture all de-sign decisions fundamental for system's stakeholders. Stakeholder ...
Abstract Currently, software testing is mainly carried on independently from software architecture-related information. Some approaches propose to perform integration and regression testing with respect to software architecture... more
Abstract Currently, software testing is mainly carried on independently from software architecture-related information. Some approaches propose to perform integration and regression testing with respect to software architecture descriptions, but less attention has ...
A Model-Driven Engineering Framework for Component Models Interoperability⋆ Ivica Crnkovic1, Ivano Malavolta2, and Henry Muccini2 1 Mälardalen University, Mälardalen Real-Time Research Center 2 University of L'Aquila,... more
A Model-Driven Engineering Framework for Component Models Interoperability⋆ Ivica Crnkovic1, Ivano Malavolta2, and Henry Muccini2 1 Mälardalen University, Mälardalen Real-Time Research Center 2 University of L'Aquila, Dipartimento di Informatica ivica. ...
Abstract A Wireless Sensor Network (WSN) is composed of distributed sensors with limited processing capabilities and energy restrictions. These unique attributes pose new challenges amongst which prolonging the WSN lifetime is one of the... more
Abstract A Wireless Sensor Network (WSN) is composed of distributed sensors with limited processing capabilities and energy restrictions. These unique attributes pose new challenges amongst which prolonging the WSN lifetime is one of the most important. Challenges are often tackled by a code-and-fix process that relies on low-level hardware and software information. Recently, the need of abstracting an implementation view into an architectural design is getting more realized. A clear separation of concerns is needed ...
Abstract Energy consumption of nodes is a crucial factor that constrains the networks life time for Wireless Sensor Networks (WSNs). WSNs are composed of small sensors equipped with low-power devices, and have limited battery power... more
Abstract Energy consumption of nodes is a crucial factor that constrains the networks life time for Wireless Sensor Networks (WSNs). WSNs are composed of small sensors equipped with low-power devices, and have limited battery power supply. The main concern in existing architectural and optimisation studies is to prolong the network lifetime. The lifetime of the sensor nodes is affected by different components such as the microprocessor, the sensing module and the wireless transmitter/receiver. The existing works mainly consider ...

And 13 more