404,815 research outputs found

    Metamodel Instance Generation: A systematic literature review

    Get PDF
    Modelling and thus metamodelling have become increasingly important in Software Engineering through the use of Model Driven Engineering. In this paper we present a systematic literature review of instance generation techniques for metamodels, i.e. the process of automatically generating models from a given metamodel. We start by presenting a set of research questions that our review is intended to answer. We then identify the main topics that are related to metamodel instance generation techniques, and use these to initiate our literature search. This search resulted in the identification of 34 key papers in the area, and each of these is reviewed here and discussed in detail. The outcome is that we are able to identify a knowledge gap in this field, and we offer suggestions as to some potential directions for future research.Comment: 25 page

    Technical Debt Prioritization: State of the Art. A Systematic Literature Review

    Get PDF
    Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring Technical Debt should be prioritized with respect to developing features or fixing bugs. Objective. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. Method. We conducted a Systematic Literature Review among 384 unique papers published until 2018, following a consolidated methodology applied in Software Engineering. We included 38 primary studies. Results. Different approaches have been proposed for Technical Debt prioritization, all having different goals and optimizing on different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We report an impact map of such factors. However, there is a lack of empirical and validated set of tools. Conclusion. We observed that technical Debt prioritization research is preliminary and there is no consensus on what are the important factors and how to measure them. Consequently, we cannot consider current research conclusive and in this paper, we outline different directions for necessary future investigations

    Developing knowledge factory system as a best practice platform in software process environment

    Get PDF
    Knowledge’ is one of the main outcomes systematic approaches of software engineering. It is considered as a crucial resource of each organization and, therefore, needs to be managed carefully especially for the software development process and the roles involved in each phase. The effectiveness application of software engineering relies on experiences, and organizations need to capitalize on their experiences by capturing and reusing them. In all approaches of experience reuse, repositories play a central role in enhancing the knowledge in experience transfer of process knowledge between projects. Like in a factory beside the production there are the people who produce. Experiences should not be stored on a dusty shelf, but engineered into best practices and processes that could be guidance to all roles in the software project especially for the developer. This paper presents the approach to the implementation of the project knowledge based on software development life cycle.It also describe on how the knowledge factory solution can be used as a decision support system for software project managers in day-to-day development activities. The paper concludes with an evaluation of our approach to date and a description of future research directions

    Technical Debt Prioritization: State of the Art. A Systematic Literature Review

    Get PDF
    Background. Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring of Technical Debt should be prioritized with respect to developing features or fixing bugs.Objective. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. Method. We conducted a Systematic Literature Review of 557 unique papers published until 2019, following a consolidated methodology applied in software engineering. We included 44 primary studies.Results. Different approaches have been proposed for Technical Debt prioritization, all having different goals and proposing optimization regarding different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We present an impact map of such factors. However, there is a lack of empirical and validated set of tools.Conclusion. We observed that Technical Debt prioritization research is preliminary and there is no consensus on what the important factors are and how to measure them. Consequently, we cannot consider current research\ua0conclusive. In this paper, we therefore outline different directions for necessary future investigations

    Software Engineering Practices and Challenges in Bangladesh: A Preliminary Survey

    Get PDF
    The software development industry of Bangladesh seems to be a promising destination for business process outsourcing. But the question is, are the practitioners following proper software engineering techniques, or, what are the challenges they are facing? To answer the question, a survey has been carried out by the authors to understand the software engineering practices and challenges in Bangladesh. To the best of authors’ knowledge, this is the first survey on software engineering practices carried out in Bangladeshi software development sector. A total of 41 organizations based in Dhaka were participated in this survey from 2016 to 2017. The survey was designed based on five objectives namely characterizing the organizations, identifying software development life cycles preferences and challenges, performance measurement, requirement prioritization, and communication. This paper presents the findings of the survey and provides recommendations and future research directions for academia as well as the industry

    Behavioral Software Engineering - Organizational Change Refocused

    Get PDF
    Background The development of software is not only a technical endeavor; it is significantly affected by the behaviors of the people involved. Since social scientists have been studying humans for over a century, it is likely that insights they have developed could be used to increase software development effectiveness. There are, nevertheless, indications that software engineering researchers seldom use theories developed and proven within the social sciences. Overall, software engineering research that emphasizes human aspects is still limited compared to studies with technology or process focus.Objective Given the importance of human aspects in software development, we argue that knowledge from the social sciences should be used more extensively to improve software engineering research. Therefore, the primary objective of our research was to advance software engineering by more profoundly considering humans and their behavior. For in-depth insights into such interdisciplinary research efforts, we chose to explore a specific phenomenon: organizational change. Our secondary objective was thus to create understanding to help improve software companies’ organizational change efforts.Method To address our research objectives, we used a variety of research designs and data collection methods, including literature reviews, surveys, interviews, focus groups, and quantitative analysis of project data. This diversity allowed us to examine phenomena from different perspectives.Results We provide directions for future research on behavioral aspects of software engineering by outlining the behavioral software engineering (BSE) research area, reviewing contemporary research, and identifying industrial needs. Moreover, our findings suggest that software engineers form their attitudes toward change collectively and according to their teams’ social norms, which are governed by their distinct professional identity. Our results also indicate that misalignment of organizational values between groups adversely affects change efforts and overall performance.Conclusions Our research concludes that in order to effectively manage organizational change efforts, software companies must strengthen their organizational identity and reduce misalignment of organizational values. By providing such concrete advice on how to improve organizational change, our research confirms the usefulness of and need for additional BSE research to create novel and in-depth insights into software engineering phenomena

    Policies, norms and actions: groundwork for a framework

    Get PDF
    Constraints on computational agents' behaviour are studied both in work on policy- governed systems|usually as part of work on security or policy-based management in dis- tributed software engineering|and also in multi-agent systems research, where the terminol- ogy is generally one of `norms' and concepts drawn from deontic logic. Interaction between these treatments, and the research communities that study them, has not been as thorough as it might, for though the perpectives, methods and interests are sometimes di erent, there is a great deal of shared ground. In the current research report, we present a language and tools which can be used for reasoning about and studying the operation of both norms and policies on a multi-agent, or distributed, system. The language is based on one member, C+, of a family of knowledge representation formalisms studied in AI. We describe the types of domains that can be represented, the kinds of analysis tasks that are possible, and describe our current implementation (which is freely available for download). Future directions for this work are described

    An Empirical Study of Pre-Trained Model Reuse in the Hugging Face Deep Learning Model Registry

    Get PDF
    Deep Neural Networks (DNNs) are being adopted as components in software systems. Creating and specializing DNNs from scratch has grown increasingly difficult as state-of-the-art architectures grow more complex. Following the path of traditional software engineering, machine learning engineers have begun to reuse large-scale pre-trained models (PTMs) and fine-tune these models for downstream tasks. Prior works have studied reuse practices for traditional software packages to guide software engineers towards better package maintenance and dependency management. We lack a similar foundation of knowledge to guide behaviors in pre-trained model ecosystems. In this work, we present the first empirical investigation of PTM reuse. We interviewed 12 practitioners from the most popular PTM ecosystem, Hugging Face, to learn the practices and challenges of PTM reuse. From this data, we model the decision-making process for PTM reuse. Based on the identified practices, we describe useful attributes for model reuse, including provenance, reproducibility, and portability. Three challenges for PTM reuse are missing attributes, discrepancies between claimed and actual performance, and model risks. We substantiate these identified challenges with systematic measurements in the Hugging Face ecosystem. Our work informs future directions on optimizing deep learning ecosystems by automated measuring useful attributes and potential attacks, and envision future research on infrastructure and standardization for model registries
    corecore