3,525 research outputs found

    Understanding Architecture Erosion: The Practitioners' Perceptive

    Get PDF
    As software systems evolve, their architecture is meant to adapt accordingly by following the changes in requirements, the environment, and the implementation. However, in practice, the evolving system often deviates from the architecture, causing severe consequences to system maintenance and evolution. This phenomenon of architecture erosion has been studied extensively in research, but not yet been examined from the point of view of developers. In this exploratory study, we look into how developers perceive the notion of architecture erosion, its causes and consequences, as well as tools and practices to identify and control architecture erosion. To this end, we searched through several popular online developer communities for collecting data of discussions related to architecture erosion. Besides, we identified developers involved in these discussions and conducted a survey with 10 participants and held interviews with 4 participants. Our findings show that: (1) developers either focus on the structural manifestation of architecture erosion or on its effect on run-time qualities, maintenance and evolution; (2) alongside technical factors, architecture erosion is caused to a large extent by non-technical factors; (3) despite the lack of dedicated tools for detecting architecture erosion, developers usually identify erosion through a number of symptoms; and (4) there are effective measures that can help to alleviate the impact of architecture erosion.Comment: The 29th IEEE/ACM International Conference on Program Comprehension (ICPC

    A mapping study on documentation in Continuous Software Development

    Get PDF
    Context: With an increase in Agile, Lean, and DevOps software methodologies over the last years (collectively referred to as Continuous Software Development (CSD)), we have observed that documentation is often poor. Objective: This work aims at collecting studies on documentation challenges, documentation practices, and tools that can support documentation in CSD. Method: A systematic mapping study was conducted to identify and analyze research on documentation in CSD, covering publications between 2001 and 2019. Results: A total of 63 studies were selected. We found 40 studies related to documentation practices and challenges, and 23 studies related to tools used in CSD. The challenges include: informal documentation is hard to understand, documentation is considered as waste, productivity is measured by working software only, documentation is out-of-sync with the software and there is a short-term focus. The practices include: non-written and informal communication, the usage of development artifacts for documentation, and the use of architecture frameworks. We also made an inventory of numerous tools that can be used for documentation purposes in CSD. Overall, we recommend the usage of executable documentation, modern tools and technologies to retrieve information and transform it into documentation, and the practice of minimal documentation upfront combined with detailed design for knowledge transfer afterwards. Conclusion: It is of paramount importance to increase the quantity and quality of documentation in CSD. While this remains challenging, practitioners will benefit from applying the identified practices and tools in order to mitigate the stated challenges

    Understanding, Analysis, and Handling of Software Architecture Erosion

    Get PDF
    Architecture erosion occurs when a software system's implemented architecture diverges from the intended architecture over time. Studies show erosion impacts development, maintenance, and evolution since it accumulates imperceptibly. Identifying early symptoms like architectural smells enables managing erosion through refactoring. However, research lacks comprehensive understanding of erosion, unclear which symptoms are most common, and lacks detection methods. This thesis establishes an erosion landscape, investigates symptoms, and proposes identification approaches. A mapping study covers erosion definitions, symptoms, causes, and consequences. Key findings: 1) "Architecture erosion" is the most used term, with four perspectives on definitions and respective symptom types. 2) Technical and non-technical reasons contribute to erosion, negatively impacting quality attributes. Practitioners can advocate addressing erosion to prevent failures. 3) Detection and correction approaches are categorized, with consistency and evolution-based approaches commonly mentioned.An empirical study explores practitioner perspectives through communities, surveys, and interviews. Findings reveal associated practices like code review and tools identify symptoms, while collected measures address erosion during implementation. Studying code review comments analyzes erosion in practice. One study reveals architectural violations, duplicate functionality, and cyclic dependencies are most frequent. Symptoms decreased over time, indicating increased stability. Most were addressed after review. A second study explores violation symptoms in four projects, identifying 10 categories. Refactoring and removing code address most violations, while some are disregarded.Machine learning classifiers using pre-trained word embeddings identify violation symptoms from code reviews. Key findings: 1) SVM with word2vec achieved highest performance. 2) fastText embeddings worked well. 3) 200-dimensional embeddings outperformed 100/300-dimensional. 4) Ensemble classifier improved performance. 5) Practitioners found results valuable, confirming potential.An automated recommendation system identifies qualified reviewers for violations using similarity detection on file paths and comments. Experiments show common methods perform well, outperforming a baseline approach. Sampling techniques impact recommendation performance

    Ohjelmistoarkkitehtuuristen suunnittelupÀÀtösten dokumentointi jatkuvassa ohjelmistokehityksessÀ - moniÀÀninen kirjallisuuskatsaus

    Get PDF
    The importance of software architecture design decisions has been known for almost 20 years. Knowledge vaporisation is a problem in many projects, especially in the current fast-paced culture, where developers often switch from project to another. Documenting software architecture design decisions helps developers understand the software better and make informed decisions in the future. However, documenting architecture design decisions is highly undervalued. It does not create any revenue in itself, and it is often the disliked and therefore neglected part of the job. This literature review explores what methods, tools and practices are being suggested in the scientific literature, as well as, what practitioners are recommending within the grey literature. What makes these methods good or bad is also investigated. The review covers the past five years and 36 analysed papers. The evidence gathered shows that most of the scientific literature concentrates on developing tools to aid the documentation process. Twelve out of nineteen grey literature papers concentrate on Architecture Decision Records (ADR). ADRs are small template files, which as a collection describe the architecture of the entire system. The ADRs appear to be what practitioners have become used to using over the past decade, as they were first introduced in 2011. What is seen as beneficial in a method or tool is low-cost and low-effort, while producing concise, good quality content. What is seen as a drawback is high-cost, high-effort and producing too much or badly organised content. The suitability of a method or tool depends on the project itself and its requirements

    The Tax Avoidance Industry: Accountancy Firms on the Make

    Get PDF
    The focus of the paper is upon the financial sector and, more specifically the involvement of global accountancy firms in devising and selling tax avoidance schemes euphemistically marketed as `tax planning?. Commenting upon some of the ?entrepreneurial? activities of these firms, Perrow (2010) observes that ?they knew what they were doing was fraudulent? (ibid: 314) as he notes that Greenwood and Suddaby?s (2006) widely referenced study excludes consideration of how partners in these firms were complicit in embracing the `alternative logics pressed upon them by their large corporate clients? (ibid: 314). An example is so-called ?alternative logics? is the construction and promotion of elaborate tax avoidance schemes by big accounting firms (Sikka and Hampton, 2005) which, we show, has become so deeply normalized within the Big Firms as to cast doubt upon their `alternative? status

    Meteorological Services for Disaster Risk Prevention and Mitigation in Nigeria

    Get PDF
    This study examines the place of meteorological services in disaster risk prevention and mitigation in Nigeria. It discusses the types, establishment requirements and limitations of meteorological stations in the country. The study also examines the climatic features of ‘Regions A and B’ and their related hazards. It observes, inter alia, that owing to existence of few meteorological stations which are poorly instrumented and maintained by corporate interests and government, derivation of authentically adequate climate information required for accurate weather predictions and spatial planning becomes a major challenge in the country. This situation has given rise to vast inundation of some settlements, displacement of people, destruction of agro-products, and aviation disasters in Nigeria. Premised on the findings, the study recommends that effective meteorological observations should be carried out in the country by using standard weather instruments. The weather information obtained from the observations should be used by a body of specialists for authentic atmospheric prognostications and spatial planning alongside other suggested measures necessary to prevent and mitigate climate-induced environmental disasters in Nigeria. Keywords: meteorological, services, disaster, prevention, mitigatio

    Fundamentals of organic agriculture

    Get PDF
    Organic agriculture can be traced back to the early 20th century, initiated by the Austrian spiritual philosopher Rudolf Steiner. It was later diversified by a number of key people, and more recent versions are guided by principles issued by the International Federation of Organic Agricultural Movements (IFOAM), founded in 1972. Organic practices were built upon the life philosophies and convictions of the founders regarding how to perceive nature. Today, those original views and ideas are considered as history. However, to understand the principles and opinions of modern organic agriculture, such as the exclusion of water-soluble inorganic fertilisers, we analysed the original ideas and arguments of the founders, who shared the common principle of relying on natural processes and methods, seen as a prerequisite for human health. For example, the British agriculturalist Sir Albert Howard, who together with Lady Eve Balfour founded the British Soil Association, claimed that healthy soils are the basis for human health on earth. In their view, healthy soils could only be obtained if the organic matter content was increased or at least maintained. Later, the German physician and microbiologist Hans-Peter Rusch together with the Swiss biologists Hans and Maria MĂŒller, focused on applying natural principles in agriculture, driven by the conviction that nature is our master and always superior. Even though these early ideas have been abandoned or modified in modern organic agriculture, the principle of the founders regarding exclusion of synthetic compounds (fertilisers and pesticides) is still the main driver for choosing crops and pest control methods

    A method for monitoring the coupling evolution of microservice-based architectures.

    Get PDF
    Abstract. The microservice architecture is claimed to satisfy ongoing software development demands, such as resilience, flexibility, and velocity. However, developing applications based on microservices also brings some drawbacks, such as the increased software operational complexity. Recent studies have also pointed out the lack of methods to prevent problems related to the maintainability of these solutions. Disregarding established design principles during the software evolution may lead to the so-called architectural erosion, which can end up in a condition of unfeasible maintenance. As microservices can be considered a new architecture style, there are few initiatives to monitoring the evolution of software microservice-based architectures. In this paper, we introduce the SYMBIOTE method for monitoring the coupling evolution of microservice-based systems. More specifically, this method collects coupling metrics during runtime (staging or production environments) and monitors them throughout software evolution. The longitudinal analysis of the collected measures allows detecting an upward trend in coupling metrics that could represent signs of architectural degradation. To develop the proposed method, we performed an experimental analysis of the coupling metrics behavior using artificially generated data. The results of these experiment revealed the metrics behavior in different scenarios, providing insights to develop the analysis method for the identification of architectural degradation. We evaluated the SYMBIOTE method in a real-case open source project called Spinnaker. The results obtained in this evaluation show the relationship between architectural changes and upward trends in coupling metrics for most of the analyzed release intervals. Therefore, the first version of SYMBIOTE has shown potential to detect signs of architectural degradation during the evolution of microservice-based architectures.Article number: 17

    A Theoretical Basis for a Multilateral Tax Treaty

    Get PDF
    This thesis argues that a multilateral tax treaty should be developed to combat base erosion and profit erosion in a more effective way because: 1 The bilateral architecture of the current international tax treaty network, and the individual domestic tax rules it has generated, are significant facilitators (rather than inhibitors) of BEPS 2 A more effective multilateral tax treaty for reducing BEPS should be developed by the OECD as a de facto global tax coordination body
    • 

    corecore