92,185 research outputs found
SOFTWARE REUSE: ISSUES AND RESEARCH DIRECTIONS
Software reuse has been considered as a means to help solve the
software development crisis. This paper surveys recent work based on
the broad framework of software reusability research, and suggests
directions for future research. We address general, technical, and non-technical
issues of software reuse, and conclude that reuse needs to be
viewed in the context of a total systems approach. We also envision a
software system or reuse support system(RSS) that helps document and
elucidate existing application systems so that the ideas and design
decisions involved in their creation can be reused either in the
context of maintenance or when building new systems.Information Systems Working Papers Serie
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
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
Recommended from our members
Reusability in software engineering
This paper surveys recent work concerning reusability in software engineering. The current directions in software reusability are discussed, and the two major approaches of reusable building blocks and reusable patterns studied. An extensive bibliography, parts of which are annotated, is included
Integrated Communication - and Service-Infrastructure for Libraries
In terms of research support, Technische Universität München (TUM) University Library strikes out in new directions. The eRIC (eResearch – Communication and Infrastructure) initiative aims to develop an integrated communication and data management infrastructure for accompanying the complete life cycle of scientific knowledge generation and transfer.
eRIC attaches particular importance to the analysis and development of models and tools for communication between researchers and libraries, both among eRIC project partners and within research teams. In cooperation with an international team of scientists and library staff, we will develop suitable communication and decision-making structures, establish a research accompanying consultation infrastructure as well as set up teams for implementation of required software tools.
In contrast to similar approaches, the eRIC services are developed bottom-up. During the project, especially all researchers’ software requirements will continuously be evaluated, analysed for their interdisciplinary reusability, reduced to generic concepts, and implemented as part of a generic software-layer. Special subject-related requirements are implemented on top of generic tools in a separate tool layer.
All project results will be documented and published as open-source-software for reuse. To assure sustainability within eRIC, TUM University Library’s certificated quality management system is applied to all aspects and phases of the project. This comprehensive approach goes far beyond tailor-made IT-solutions, affects all central divisions of the library and denotes a paradigm change in university library services
Strategic Directions in Object-Oriented Programming
This paper has provided an overview of the field of object-oriented programming. After presenting a historical perspective and some major achievements in the field, four research directions were introduced: technologies integration, software components, distributed programming, and new paradigms. In general there is a need to continue research in traditional areas:\ud
(1) as computer systems become more and more complex, there is a need to further develop the work on architecture and design; \ud
(2) to support the development of complex systems, there is a need for better languages, environments, and tools; \ud
(3) foundations in the form of the conceptual framework and other theories must be extended to enhance the means for modeling and formal analysis, as well as for understanding future computer systems
Recommended from our members
Requirements for software engineering languages
This paper analyzes the concepts of software construction embodied in the Draco system. The analysis relates specific mechanisms in Draco to particular software engineering (SE) principles and suggests future research needed to extend the approach. The purpose of the analysis is to help researchers understand Draco better and thus be able to direct in productive directions future research on this type of software engineering tool
Toward an Effective Automated Tracing Process
Traceability is defined as the ability to establish, record, and maintain dependency relations among various software artifacts in a software system, in both a forwards and backwards direction, throughout the multiple phases of the project’s life cycle. The availability of traceability information has been proven vital to several software engineering activities such as program comprehension, impact analysis, feature location, software reuse, and verification and validation (V&V). The research on automated software traceability has noticeably advanced in the past few years. Various methodologies and tools have been proposed in the literature to provide automatic support for establishing and maintaining traceability information in software systems. This movement is motivated by the increasing attention traceability has been receiving as a critical element of any rigorous software development process. However, despite these major advances, traceability implementation and use is still not pervasive in industry. In particular, traceability tools are still far from achieving performance levels that are adequate for practical applications. Such low levels of accuracy require software engineers working with traceability tools to spend a considerable amount of their time verifying the generated traceability information, a process that is often described as tedious, exhaustive, and error-prone. Motivated by these observations, and building upon a growing body of work in this area, in this dissertation we explore several research directions related to enhancing the performance of automated tracing tools and techniques. In particular, our work addresses several issues related to the various aspects of the IR-based automated tracing process, including trace link retrieval, performance enhancement, and the role of the human in the process. Our main objective is to achieve performance levels, in terms of accuracy, efficiency, and usability, that are adequate for practical applications, and ultimately to accomplish a successful technology transfer from research to industry
- …