595 research outputs found

    Exploring Maintainability Assurance Research for Service- and Microservice-Based Systems: Directions and Differences

    Full text link
    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

    On Maintainability and Microservice Dependencies: How Do Changes Propagate?

    No full text
    Modern software systems evolve rapidly, especially when boosted by continuous integration and delivery. While many tools exist to help manage the maintainability of monolithic systems, gaps remain in assessing changes in decentralized systems, such as those based on microservices. Microservices fuel cloud-native systems, the mainstream direction for most enterprise solutions, which drives motivation for a broader understanding of how changes propagate through such systems. This position paper elaborates on the role of dependencies when dealing with evolution challenges in microservices aiming to support maintainability. It highlights the importance of dependency management in the context of maintainability deterioration. Our proposed perspective refines the approach to maintainability assurance by focusing on the systematic management of dependencies as a more direct method for addressing and understanding change propagation pathways, compared to traditional methods that often only a ddress symptoms like anti-patterns, smells, metrics, or high-level concepts

    Justus von Liebig

    No full text
    This is a short overview of the life and achievements of Justus von Liebig. Clearly, this can only be an incomplete and somewhat personal view of the author, who has been a professor of inorganic chemistry at Justus Liebig University since 2002. Having already been interested in the work of Liebig for many years, and with a strong connection to the Liebig Museum in Giessen, the author hopes to provide some useful information about this great chemist, one of the founders of modern chemistry. The reader should find many interesting, probably new, facts about Liebig’s major impact on chemistry, agriculture, nutrition, and pharmacology

    Justus Lipsius and Neostoicism

    No full text
    Final book published.Jacqueline Lagre's, 'Justus Lipsius and Neostoicism' translated from French by Dr. Elliot Rossiter

    De metamorfoses van het Justus van Effencomplex

    No full text
    De Justus van Effencomplex in Spangen, dat architect Michiel Brinkman in 1918 ontwierp, werd in 1985 bijgeschreven in het monumentenregister. Een ingrijpende renovatie vondplaats tussen 1983 en 1989 in het kader van de Rotterdamse stadsvernieuwing. In 2010 was het complex echter opnieuw in zo een slechte conditie dat werd besloten tot een tweede verbetering, ditmaal een restauratie. Het complex dat in 1922 werd opgeleverd als een experimenteel en modern staal van volkshuisvesting, was een verouderd wooncomplex geworden. De eigenaar, Woonstad Rotterdam, hoopt met de restauratie het Justus van Effencomplex zijn waarde als een monument van volkshuisvesting te hebben teruggegeven.Architectural Engineering +TechnologyArchitectur

    Replication package for "Software Engineering for AI-Based Systems: A Survey"

    No full text
    This is the replication package of the paper: “Software Engineering for AI-Based Systems: A Survey”, accepted and published in ACM Transactions on Software Engineering and Methodology (TOSEM). Authors: Silverio Martínez-Fernández, Justus Bogner, Xavier Franch, Marc Oriol, Julien Siebert, Adam Trendowicz, Anna Maria Vollmer, Stefan Wagner. This replication package consists of the following files:0. Readme1. “Search. Used Search String” file.2. “Screening. Start set of papers” file.3. “Screening. Snowballing document” file.4. “Data extraction. Form” file.5. “Analysis. RQ1 Analysis” file.6. “Analysis. RQ2 Domains” file.7. "Analysis. RQ2 Properties” file.8. “Analysis. RQ3 SWEBOK areas” file.8b. Analysis. Detailed mapping process for RQ3 and RQ49. “Analysis. RQ4 Challenges analysis” file. The research methodology and main results can be found on the paper

    On the evolvability assurance of microservices : metrics, scenarios, and patterns

    Full text link
    Context: Fast moving markets and the age of digitization require that software can be quickly changed or extended with new features. The associated quality attribute is referred to as evolvability: the degree of effectiveness and efficiency with which a system can be adapted or extended. Evolvability is especially important for software with frequently changing requirements, e.g. internet-based systems. Several evolvability-related benefits were arguably gained with the rise of service-oriented computing (SOC) that established itself as one of the most important paradigms for distributed systems over the last decade. The implementation of enterprise-wide software landscapes in the style of service-oriented architecture (SOA) prioritizes loose coupling, encapsulation, interoperability, composition, and reuse. In recent years, microservices quickly gained in popularity as an agile, DevOps-focused, and decentralized service-oriented variant with fine-grained services. A key idea here is that small and loosely coupled services that are independently deployable should be easy to change and to replace. Moreover, one of the postulated microservices characteristics is evolutionary design. Problem Statement: While these properties provide a favorable theoretical basis for evolvable systems, they offer no concrete and universally applicable solutions. As with each architectural style, the implementation of a concrete microservice-based system can be of arbitrary quality. Several studies also report that software professionals trust in the foundational maintainability of service orientation and microservices in particular. A blind belief in these qualities without appropriate evolvability assurance can lead to violations of important principles and therefore negatively impact software evolution. In addition to this, very little scientific research has covered the areas of maintenance, evolution, or technical debt of microservices. Objectives: To address this, the aim of this research is to support developers of microservices with appropriate methods, techniques, and tools to evaluate or improve evolvability and to facilitate sustainable long-term development. In particular, we want to provide recommendations and tool support for metric-based as well as scenario-based evaluation. In the context of service-based evolvability, we furthermore want to analyze the effectiveness of patterns and collect relevant antipatterns. Methods: Using empirical methods, we analyzed the industry state of the practice and the academic state of the art, which helped us to identify existing techniques, challenges, and research gaps. Based on these findings, we then designed new evolvability assurance techniques and used additional empirical studies to demonstrate and evaluate their effectiveness. Applied empirical methods were for example surveys, interviews, (systematic) literature studies, or controlled experiments. Contributions: In addition to our analyses of industry practice and scientific literature, we provide contributions in three different areas. With respect to metric-based evolvability evaluation, we identified a set of structural metrics specifically designed for service orientation and analyzed their value for microservices. Subsequently, we designed tool-supported approaches to automatically gather a subset of these metrics from machine-readable RESTful API descriptions and via a distributed tracing mechanism at runtime. In the area of scenario-based evaluation, we developed a tool-supported lightweight method to analyze the evolvability of a service-based system based on hypothetical evolution scenarios. We evaluated the method with a survey (N=40) as well as hands-on interviews (N=7) and improved it further based on the findings. Lastly with respect to patterns and antipatterns, we collected a large set of service-based patterns and analyzed their applicability for microservices. From this initial catalogue, we synthesized a set of candidate evolvability patterns via the proxy of architectural modifiability tactics. The impact of four of these patterns on evolvability was then empirically tested in a controlled experiment (N=69) and with a metric-based analysis. The results suggest that the additional structural complexity introduced by the patterns as well as developers' pattern knowledge have an influence on their effectiveness. As a last contribution, we created a holistic collection of service-based antipatterns for both SOA and microservices and published it in a collaborative repository. Conclusion: Our contributions provide first foundations for a holistic view on the evolvability assurance of microservices and address several perspectives. Metric- and scenario-based evaluation as well as service-based antipatterns can be used to identify "hot spots" while service-based patterns can remediate them and provide means for systematic evolvability construction. All in all, researchers and practitioners in the field of microservices can use our artifacts to analyze and improve the evolvability of their systems as well as to gain a conceptual understanding of service-based evolvability assurance

    Data and Analysis Artifacts for Service-Based Evolvability Patterns (Experiment and Metrics)

    No full text
    <p>Two functionally equivalent service-based web-shop systems (one version with selected service-based patterns, one without) were analyzed with a controlled experiment as well as with structural maintainability metrics. This repo contains all analysis artifacts.</p&gt

    Translation and normativity

    No full text
    corecore