135,134 research outputs found

    Towards guidelines for building a business case and gathering evidence of software reference architectures in industry

    Get PDF
    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?

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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>

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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
    • …
    corecore