135,134 research outputs found
Towards guidelines for building a business case and gathering evidence of software reference architectures in industry
Background: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software applications of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to know the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges.
Methods: We have conducted action research in an industry-academia collaboration between the GESSI research group and everis, a multinational IT consulting firm based in Spain.
Results: The results from such collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. The main result of this paper is the construction of empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices.
Conclusions: The created guidelines could be used by other organizations outside of our industry-academia collaboration. With this goal in mind, we describe the guidelines in detail for their use.Peer ReviewedPostprint (published version
Can Component/Service-Based Systems Be Proved Correct?
Component-oriented and service-oriented approaches have gained a strong
enthusiasm in industries and academia with a particular interest for
service-oriented approaches. A component is a software entity with given
functionalities, made available by a provider, and used to build other
application within which it is integrated. The service concept and its use in
web-based application development have a huge impact on reuse practices.
Accordingly a considerable part of software architectures is influenced; these
architectures are moving towards service-oriented architectures. Therefore
applications (re)use services that are available elsewhere and many
applications interact, without knowing each other, using services available via
service servers and their published interfaces and functionalities. Industries
propose, through various consortium, languages, technologies and standards.
More academic works are also undertaken concerning semantics and formalisation
of components and service-based systems. We consider here both streams of works
in order to raise research concerns that will help in building quality
software. Are there new challenging problems with respect to service-based
software construction? Besides, what are the links and the advances compared to
distributed systems?Comment: 16 page
Considerations for Effective Requirements Analysis in Offshore Software Development Projects: Lessons from Multi-method Research
Offshore software development using geographically distributed teams is an accepted practice in software development today. However, software development companies have largely only offshored the software development lifecycle’s coding and testing phases. However, lately, offshoring the requirements analysis (RA) phase has become increasingly viable for several reasons including the software industry’s maturation and improved communication technologies. However, successfully evaluating this highly interactive phase between geographically dispersed client and provider teams requires special considerations. In this paper, we present practical insights garnered from conducting experiments and surveys of IS professionals from the Indian software industry and from extensively examining the literature. Our findings confirm that, subject to certain best practices, one can effectively conduct RA in software projects offshore. We present these practices as lessons learned and provide related recommendations for industry and academia
Software development practices in academia: a case study comparison
Academic software development practices often differ from those of commercial development settings, yet only limited research has been conducted on assessing software development practises in academia. Here we present a case study of software development practices in four open-source scientific codes over a period of nine years, characterizing the evolution of their respective development teams, their scientific productivity, and the adoption (or discontinuation) of specific software engineering practises as the team size changes. We show that the transient nature of the development team results in the adoption of different development strategies. We relate measures of publication output to accumulated numbers of developers and find that for the projects considered the time-scale for returns on expended development effort is approximately three years. We discuss the implications of our findings for evaluating the performance of research software development, and in general any computationally oriented scientific project.Computational Horizons in Cancer (CHIC) project under EU FP7 grant agreement number 600841 (JG); CRESTA project under EU FP7 grant agreement number 287703 (DG,US); UK Engineering and Physical Sciences Research Council under grant numbers EP/I017909/1 (www.2020science.net, DG,JG,JMO) and EP/I034602/1 (US)
Alternatives for testing of context-aware software systems in non-academic settings:results from a <i>Rapid Review</i>
Context: Context-awareness challenges the engineering of contemporary software systems and jeopardizes their
testing. The variation of context represents a relevant behavior that deepens the limitations of available software
testing practices and technologies. However, such software systems are mainstream. Therefore, researchers in
non-academic settings also face challenges when developing and testing contemporary software systems.
Objective: To understand how researchers deal with the variation of context when testing context-aware software
systems developed in non-academic settings.
Method: To undertake a secondary study (Rapid Review) to uncover the necessary evidence from primary sources
describing the testing of context-aware software systems outside academia.
Results: The current testing initiatives in non-academic settings aim to generate or improve test suites that can
deal with the context variation and the sheer volume of test input possibilities. They mostly rely on modeling the
systems’ dynamic behavior and increasing computing resources to generate test inputs to achieve this. We found
no evidence of test results aiming at managing context variation through the testing lifecycle process.
Conclusions: So far, the identified testing initiatives and strategies are not ready for mainstream adoption. They
are all domain-specific, and while the ideas and approaches can be reproduced in distinct settings, the technologies are to be re-engineered and tailored to the context-awareness of contemporary software systems in
different problem domains. Further and joint investigations in academia and experiences in non-academic set-
tings can evolve the body of knowledge regarding the testing of contemporary software systems in the field
Secure Coding in Five Steps
Software vulnerabilities have become a severe cybersecurity issue. There are numerous resources of industry best practices available, but it is still challenging to effectively teach secure coding practices. The resources are not designed for classroom usage because the amount of information is overwhelming for students. There are efforts in academia to introduce secure coding components into computer science curriculum, but a big gap between industry best practices and workforce skills still exists. Unlike many existing efforts, we focus on both the big picture of secure coding and hands-on projects. To achieve these two goals, we present five learning steps that we have been revising over the last four years. Our evaluation shows that the approach reduces complexity and encourages students to use secure coding practice in their future projects
Current Trends in Digital Twin Development, Maintenance, and Operation:An Interview Study
Digital twins (DT) are often defined as a pairing of a physical entity and a corresponding virtual entity mimicking certain aspects of the former depending on the use-case. In recent years, this concept has facilitated numerous use-cases ranging from design to validation and predictive maintenance of large and small high-tech systems. Although growing in popularity in both industry and academia, digital twins and the methodologies for developing and maintaining them differ vastly. To better understand these differences and similarities, we performed a semi-structured interview research study with 19 professionals from industry and academia who are closely associated with different lifecycle stages of the corresponding digital twins. In this paper, we present our analysis and findings from this study, which is based on eight research questions (RQ). We present our findings per research question. In general, we identified an overall lack of uniformity in terms of the understanding of digital twins and used tools, techniques, and methodologies for their development and maintenance. Furthermore, considering that digital twins are software intensive systems, we recognize a significant growth potential for adopting more software engineering practices, processes, and expertise in various stages of a digital twin's lifecycle
Current Trends in Digital Twin Development, Maintenance, and Operation: An Interview Study
Digital twins (DT) are often defined as a pairing of a physical entity and a
corresponding virtual entity mimicking certain aspects of the former depending
on the use-case. In recent years, this concept has facilitated numerous
use-cases ranging from design to validation and predictive maintenance of large
and small high-tech systems. Although growing in popularity in both industry
and academia, digital twins and the methodologies for developing and
maintaining them differ vastly. To better understand these differences and
similarities, we performed a semi-structured interview research study with 19
professionals from industry and academia who are closely associated with
different lifecycle stages of the corresponding digital twins. In this paper,
we present our analysis and findings from this study, which is based on eight
research questions (RQ). We present our findings per research question. In
general, we identified an overall lack of uniformity in terms of the
understanding of digital twins and used tools, techniques, and methodologies
for their development and maintenance. Furthermore, considering that digital
twins are software intensive systems, we recognize a significant growth
potential for adopting more software engineering practices, processes, and
expertise in various stages of a digital twin's lifecycle
Towards OSGeo Best Practices for Scientific Software Citation: Integration Options for Persistent Identifiers in OSGeo Project Repositories
As a contribution to the currently ongoing larger effort to establish Open Science as best practices in academia, this article focuses on the Open Source and Open Access tiers of the Open Science triad and community software projects. The current situation of research software development and the need to recognize it as a significant contribution to science is introduced in relation to Open Science. The adoption of the Open Science paradigms occurs at different speeds and on different levels within the various fields of science and crosscutting software communities. This is paralleled by the emerging of an underlying futuresafe technical infrastructure based on open standards to enable proper recognition for published articles, data, and software. Currently the number of journal publications about research software remains low in comparison to the amount of research code published on various software repositories in the WWW. Because common standards for the citation of software projects (containers) and versions of software are lacking, the FORCE11 group and the CodeMeta project recommending to establish Persistent Identifiers (PIDs), together with suitable metadata setss to reliably cite research software. This approach is compared to the best practices implemented by the OSGeo Foundation for geospatial community software projects. For GRASS GIS, a OSGeo project and one of the oldest geospatial open source community projects, the external requirements for DOI-based software citation are compared with the projects software documentation standards. Based on this status assessment, application scenarios are derived, how OSGeo projects can approach DOI-based software citation, both as a standalone option and also as a means to foster open access journal publications as part of reproducible Open Science
- …