5,643 research outputs found
Exploring Maintainability Assurance Research for Service- and Microservice-Based Systems: Directions and Differences
To ensure sustainable software maintenance and evolution, a diverse set of activities and concepts like metrics, change impact analysis, or antipattern detection can be used. Special maintainability assurance techniques have been proposed for service- and microservice-based systems, but it is difficult to get a comprehensive overview of this publication landscape. We therefore conducted a systematic literature review (SLR) to collect and categorize maintainability assurance approaches for service-oriented architecture (SOA) and microservices. Our search strategy led to the selection of 223 primary studies from 2007 to 2018 which we categorized with a threefold taxonomy: a) architectural (SOA, microservices, both), b) methodical (method or contribution of the study), and c) thematic (maintainability assurance subfield). We discuss the distribution among these categories and present different research directions as well as exemplary studies per thematic category. The primary finding of our SLR is that, while very few approaches have been suggested for microservices so far (24 of 223, ?11%), we identified several thematic categories where existing SOA techniques could be adapted for the maintainability assurance of microservices
What to Fix? Distinguishing between design and non-design rules in automated tools
Technical debt---design shortcuts taken to optimize for delivery speed---is a
critical part of long-term software costs. Consequently, automatically
detecting technical debt is a high priority for software practitioners.
Software quality tool vendors have responded to this need by positioning their
tools to detect and manage technical debt. While these tools bundle a number of
rules, it is hard for users to understand which rules identify design issues,
as opposed to syntactic quality. This is important, since previous studies have
revealed the most significant technical debt is related to design issues. Other
research has focused on comparing these tools on open source projects, but
these comparisons have not looked at whether the rules were relevant to design.
We conducted an empirical study using a structured categorization approach, and
manually classify 466 software quality rules from three industry tools---CAST,
SonarQube, and NDepend. We found that most of these rules were easily labeled
as either not design (55%) or design (19%). The remainder (26%) resulted in
disagreements among the labelers. Our results are a first step in formalizing a
definition of a design rule, in order to support automatic detection.Comment: Long version of accepted short paper at International Conference on
Software Architecture 2017 (Gothenburg, SE
Recommended from our members
Legacy Information Systems, Can They be Agile? A Framework for Assessing Agility
Information systems should contribute to enterprise effectiveness, and usually do so during the operational phase of their lifecycle. From the experience of practitioners, the duration of this lifecycle is often not predetermined, therefore resulting in information systems with a relatively long lifespan and information systems with a relatively short lifespan. An important aspect of application management, is managing the application lifecycle. In the experience of practitioners, deciding the moment to end the lifecycle, refactor it, or leave it be are often not thoroughly researched. The decision to move on to a newer information system is therefore not always sufficiently justified and relies more on a gut feeling. What if the older information system is still able to perform and comply with the changes the enterprise desires? Prolonging the length of an application lifecycle could result in cost reduction in an application portfolio. In this paper, we aim to create a method of assessment of the ability to change of a legacy information system and identifying potential areas in which a legacy information system would need improvement in order to increase this ability to change
A research review of quality assessment for software
Measures were recommended to assess the quality of software submitted to the AdaNet program. The quality factors that are important to software reuse are explored and methods of evaluating those factors are discussed. Quality factors important to software reuse are: correctness, reliability, verifiability, understandability, modifiability, and certifiability. Certifiability is included because the documentation of many factors about a software component such as its efficiency, portability, and development history, constitute a class for factors important to some users, not important at all to other, and impossible for AdaNet to distinguish between a priori. The quality factors may be assessed in different ways. There are a few quantitative measures which have been shown to indicate software quality. However, it is believed that there exists many factors that indicate quality and have not been empirically validated due to their subjective nature. These subjective factors are characterized by the way in which they support the software engineering principles of abstraction, information hiding, modularity, localization, confirmability, uniformity, and completeness
Investigating Differences between Graphical and Textual Declarative Process Models
Declarative approaches to business process modeling are regarded as well
suited for highly volatile environments, as they enable a high degree of
flexibility. However, problems in understanding declarative process models
often impede their adoption. Particularly, a study revealed that aspects that
are present in both imperative and declarative process modeling languages at a
graphical level-while having different semantics-cause considerable troubles.
In this work we investigate whether a notation that does not contain graphical
lookalikes, i.e., a textual notation, can help to avoid this problem. Even
though a textual representation does not suffer from lookalikes, in our
empirical study it performed worse in terms of error rate, duration and mental
effort, as the textual representation forces the reader to mentally merge the
textual information. Likewise, subjects themselves expressed that the graphical
representation is easier to understand
Proactive Quality Guidance for Model Evolution in Model Libraries
Model evolution in model libraries differs from general model evolution. It
limits the scope to the manageable and allows to develop clear concepts,
approaches, solutions, and methodologies. Looking at model quality in evolving
model libraries, we focus on quality concerns related to reusability. In this
paper, we put forward our proactive quality guidance approach for model
evolution in model libraries. It uses an editing-time assessment linked to a
lightweight quality model, corresponding metrics, and simplified reviews. All
of which help to guide model evolution by means of quality gates fostering
model reusability.Comment: 10 pages, figures. Appears in Models and Evolution Workshop
Proceedings of the ACM/IEEE 16th International Conference on Model Driven
Engineering Languages and Systems, Miami, Florida (USA), September 30, 201
- …