9 research outputs found

    The Pervasiveness of Global Data in Evolving Software Systems

    Full text link
    Abstract. In this research, we investigate the role of common coupling in evolving software systems. It can be argued that most software de-velopers understand that the use of global data has many harmful side-effects, and thus should be avoided. We are therefore interested in the answer to the following question: if global data does exist within a soft-ware project, how does global data usage evolve over a software project’s lifetime? Perhaps the constant refactoring and perfective maintenance eliminates global data usage, or conversely, perhaps the constant addi-tion of features and rapid development introduce an increasing reliance on global data? We are also interested in identifying if global data usage patterns are useful as a software metric that is indicative of an interesting or significant event in the software’s lifetime. The focus of this research is twofold: first to develop an effective and automatic technique for studying global data usage over the lifetime of large software systems and secondly, to leverage this technique in a case-study of global data usage for several large and evolving software systems in an effort to reach answers to these questions.

    Conceptualizing Quality in Software Industry

    Get PDF
    This paper investigates the different software quality perceptions from the different stakeholders’ perspectives and presents a critique to previously developed quality models and measurement theory frameworks associated. It emphasizes the rationale beyond the selection of the Goal Question Metric (GQM) as an evaluation method for the development of the software project with the desired quality needs satisfying the software system. Then it ends up with several concluding remarks that pinpoint the main discussion points and offers guidance for further research

    A Comprehensive Review and Synthesis of Open Source Research

    Get PDF
    The open source movement has grown steadily and matured in recent years, and this growth has been mirrored by a rise in open source related research. The objective of this paper is to pause and reflect on the state of the field. We start by conducting a comprehensive literature review of open source research, and organize the resulting 618 peer-reviewed articles into a taxonomy. Elements of this taxonomy are defined and described. We then draw on a number of existing categorization schemes to develop a framework to situate open source research within a wider nomological network. Building on concepts from systems theory, we propose a holistic framework of open source research. This framework incorporates current research, as represented by the taxonomy, identifies gaps and areas of overlap, and charts a path for future work

    La santé des écosystèmes logiciels à code source ouvert : une revue de littérature systématique

    Get PDF
    Un logiciel à code source ouvert (LCSO) ou Open Source Software est un logiciel dont le code source est accessible et modifiable par quiconque, et dont la licence assure que ce code demeure dans le domaine public. Le développement des LCSO a connu une montée fulgurante au cours des deux dernières décennies. Étant considérés comme un élément clé de l’écosystème logiciel à code source ouvert (ECLSO), les projets de LCSO abondent et deviennent de plus en plus essentiels et indispensables pour les systèmes utilisés par plusieurs organisations à l’échelle mondiale. L’évolution rapide de la recherche sur les ECLSO a permis de nombreuses contributions significatives. Cependant, cette croissance suscite des interrogations et interpelle la communauté des chercheurs et praticiens en ce qui concerne la santé de ces ECLSO. Qu’adviendrait-il s’ils se dégradaient ou cessaient d'exister ? Dans le but de mieux comprendre comment ce domaine a été abordé dans littérature, nous avons effectué une revue de littérature systématique descriptive afin d’avoir un aperçu des études qui ont été faites dans ce domaine. Au total, 98 articles ont été retenus dans notre échantillon et les résultats de notre analyse de ces articles montrent que la recherche dans ce domaine est encore immature. Il n’existe pas encore de consensus quant à la définition de la santé, ni à celle de l’écosystème logiciel, ni d’outils adéquats pour appuyer l’évaluation de la santé des ELCSO. Notre étude a révélé qu’aucun auteur n’a réellement défini ce que c’est que la « santé d’un ELCSO ». Néanmoins, certains aspects de la santé ont été étudiés pour divers composants d’un ELCSO. Notre revue de littérature permet de souligner que le domaine offre de réelles opportunités pour des recherches futures.Open Source Software (OSS) is software whose source code is accessible and modifiable by anyone, and whose license ensures that this code remains in the public domain. The development of OSSs has skyrocketed over the past two decades. As a key component of the Open Source Software (OSS) ecosystem, OSS projects abound and become increasingly essential and indispensable for various systems used most organizations worldwide. The rapid evolution of OSS ecosystem research has resulted in many significant contributions. However, this growth raises questions and challenges the community of researchers and practitioners as far as health of these OSS ecosystem is concerned. What would happen if they deteriorated or ceased to exist? To better understand how researchers addressed this area, we conducted a descriptive systematic literature review to gain insight into the studies that have been done in this area. In total, 98 articles were selected in our sample and the results of our analysis of these articles show that research in this area is still immature. There is still no consensus on the definition of health, the software ecosystem, nor adequate tools to support the health assessment of the ELCSO. Our study revealed that no author has really defined the "health of an OSS ecosystem". Although some aspects of health have been studied for various components of an OSS ecosystem, our literature review highlights that the field offers real opportunities for future research

    Unconventional Applications of Compiler Analysis

    Get PDF
    Previously, compiler transformations have primarily focused on minimizing program execution time. This thesis explores some examples of applying compiler technology outside of its original scope. Specifically, we apply compiler analysis to the field of software maintenance and evolution by examining the use of global data throughout the lifetimes of many open source projects. Also, we investigate the effects of compiler optimizations on the power consumption of small battery powered devices. Finally, in an area closer to traditional compiler research we examine automatic program parallelization in the form of thread-level speculation

    Designing the Sakai Open Academic Environment: A distributed cognition account of the design of a large scale software system

    Get PDF
    Social accounts of technological change make the flexibility and openness of interpretations the starting point of an argument against technological determinism. They suggest that technological change unfolds in the semantic domain, but they focus on the social processes around the interpretations of new technologies, and do not address the conceptual processes of change in interpretations. The dissertation presents an empirically grounded case study of the design process of an open-source online software platform based on the framework of distributed cognition to argue that the cognitive perspective is needed for understanding innovation in software, because it allows us to describe the reflexive and expansive contribution of conceptual processes to new software and the significance of professional epistemic practices in framing the direction of innovation. The framework of distributed cognition brings the social and cognitive perspectives together on account of its understanding of conceptual processes as distributed over time, among people, and between humans and artifacts. The dissertation argues that an evolving open-source software landscape became translated into the open-ended local design space of a new software project in a process of infrastructural implosion, and the design space prompted participants to outline and pursue epistemic strategies of sense-making and learning about the contexts of use. The result was a process of conceptual modeling, which resulted in a conceptually novel user interface. Prototyping professional practices of user-centered design lent directionality to this conceptual process in terms of a focus on individual activities with the user interface. Social approaches to software design under the broad umbrella of human-centered computing have been seeking to inform the design on the basis of empirical contributions about a social context. The analysis has shown that empirical engagement with the contexts of use followed from conceptual modeling, and concern about real world contexts was aligned with the user-centered direction that design was taking. I also point out a social-technical gap in the design process in connection with the repeated performance challenges that the platform was facing, and describe the possibility of a social-technical imagination.Ph.D
    corecore