404,979 research outputs found
Metamodel Instance Generation: A systematic literature review
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
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
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
Software Engineering Practices and Challenges in Bangladesh: A Preliminary Survey
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
Technical Debt Prioritization: State of the Art. A Systematic Literature Review
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
Recommended from our members
A requirements engineering method for COTS-based systems development
An increasing number of organisations are procuring off-the-shelf software products from commercial suppliers. However, there has been a lack of methods and software tools for such requirements acquisition, product selection and product procurement. This thesis proposes a new method called PORE (Procurement-Oriented Requirements Engineering) which integrates existing requirements engineering techniques with those from knowledge engineering, feature analysis, multi-criteria decision-making and argumentation approaches to address the lack of guidance for acquiring requirements to enable evaluation and selection of commercial-off-the-shelf (COTS) software. PORE is designed in part from conclusions drawn from real-world case studies of requirements acquisition for complex software product selection. Such studies are reported in this thesis. The PORE method is part goal-driven and part context-driven, in that it exploits models of the candidate COTS software and customer requirements as well as process goals to guide a requirements engineering team. The method's approach and mechanisms is demonstrated using a well-known commercial electronic-mail system. A number of studies are presented to provide validation for the method. These include three studies in three different organisations to select COTS software products and one study of requirements engineering experts to elicit their knowledge. The results from these studies demonstrated that the method is usable and effective. The thesis concludes with a discussion of future work to improve the PORE method and future research directions on requirements engineering for COTS-based systems development
Behavioral Software Engineering - Organizational Change Refocused
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
An Empirical Study of Pre-Trained Model Reuse in the Hugging Face Deep Learning Model Registry
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
Policies, norms and actions: groundwork for a framework
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
- …