4.5 Article

A comparative study of challenges in integrating Open Source Software and Inner Source Software

Journal

INFORMATION AND SOFTWARE TECHNOLOGY
Volume 53, Issue 12, Pages 1319-1336

Publisher

ELSEVIER
DOI: 10.1016/j.infsof.2011.06.007

Keywords

Open Source Software; Inner Source; Software development; Challenges; Case study; Empirical studies

Funding

  1. IRCSET [RS/2008/134]
  2. Science Foundation Ireland [03/CE2/1303_1]

Ask authors/readers for more resources

Context: Several large software-developing organizations have adopted Open Source Software development (OSSD) practices to develop in-house components that are subsequently integrated into products. This phenomenon is also known as Inner Source. While there have been several reports of successful cases of this phenomenon, little is known about the challenges that practitioners face when integrating software that is developed in such a setting. Objective: The objective of this study was to shed light on challenges related to building products with components that have been developed within an Inner Source development environment. Method: Following an initial systematic literature review to generate seed category data constructs, we performed an in-depth exploratory case study in an organization that has a significant track record in the implementation of Inner Source. Data was gathered through semi-structured interviews with participants from a range of divisions across the organization. Interviews were transcribed and analyzed using qualitative data analysis techniques. Results: We have identified a number of challenges and approaches to address them, and compared the findings to challenges related to development with OSS products reported in the literature. We found that many challenges identified in the case study could be mapped to challenges related to integration of OSS. Conclusion: The results provide important insights into common challenges of developing with OSS and Inner Source and may help organizations to understand how to improve their software development practices by adopting certain OSSD practices. The findings also identify the areas that need further research. (C) 2011 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.5
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

Gamification in software engineering: the mediating role of developer engagement and job satisfaction

Klaas-Jan Stol, Mario Schaarschmidt, Shelly Goldblit

Summary: Gamification is a mechanism that encourages participant behavior by borrowing elements from games, and its application in software organizations lacks rigorous studies. This article presents findings from an empirical study, showing that gamification can effectively engage developers within an organization, and that developer engagement is positively associated with job satisfaction.

EMPIRICAL SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Managing Episodic Volunteers in Free/Libre/Open Source Software Communities

Ann Barcomb, Klaas-Jan Stol, Brian Fitzgerald, Dirk Riehle

Summary: This article introduces the practices and concerns in managing episodic volunteers in free/libre/open source software communities. It provides a systematic framework to help community managers better manage these volunteers.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Information Systems

A mapping study on documentation in Continuous Software Development

Theo Theunissen, Uwe van Heesch, Paris Avgeriou

Summary: Research shows that challenges in continuous software development include difficulties in understanding informal documentation, the perception of documentation as wasteful, and a focus on short-term productivity. To address these challenges, practitioners are recommended to adopt practices like non-written communication and tools like architecture frameworks to improve the quantity and quality of documentation.

INFORMATION AND SOFTWARE TECHNOLOGY (2022)

Article Computer Science, Software Engineering

The temporality of technical debt introduction on new code and confounding factors

George Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou

Summary: The study found that the number of TD issues introduced through new code is generally stable with occasional spikes, and the number of commits performed as well as developers' experience are not strongly correlated to the number of introduced TD issues.

SOFTWARE QUALITY JOURNAL (2022)

Editorial Material Computer Science, Software Engineering

Introduction to the Special Issue on Software-Intensive Autonomous Systems: Methods and applications

Nesrine Khabou, Ismael Bouassida Rodriguez, Khalil Drira, Paris Avgeriou, David C. Shepherd, Wing-Kwong Chan, Raffaela Mirandola

JOURNAL OF SYSTEMS AND SOFTWARE (2023)

Article Computer Science, Software Engineering

Automatic identification of self-admitted technical debt from four different sources

Yikun Li, Mohamed Soliman, Paris Avgeriou

Summary: Technical debt refers to taking shortcuts in software development at the expense of long-term maintainability. Previous research has focused on identifying developer-reported technical debt, while this study proposes and evaluates an approach for automated identification of self-admitted technical debt (SATD) from multiple sources. The approach integrates source code comments, commit messages, pull requests, and issue tracking systems, achieving superior performance compared to baseline methods. The study also characterizes SATD in open-source projects and explores the relationships between SATD in different sources, revealing insights such as even distribution among sources and common keywords shared between issues and pull requests.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study

Yikun Li, Mohamed Soliman, Paris Avgeriou, Lou Somers

Summary: Technical debt refers to shortcuts taken during software development for the sake of expedience. Self-Admitted Technical Debt (SATD) occurs when developers explicitly acknowledge these shortcuts. While SATD management in Open Source projects has been studied extensively, its exploration in industry and developers' perspectives towards SATD have received limited attention. To address this gap, an exploratory case study was conducted with an industrial partner to understand how SATD is perceived and managed. The study involved collecting data on SATD from different sources and conducting interviews with 12 software practitioners. The results highlight the core characteristics of SATD in industrial projects, developers' attitudes towards it, triggers for its introduction and repayment, relations between SATD in different sources, practices used for its management, as well as challenges and tooling ideas.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

Improving hardware/software interface management in systems of systems through documentation as code

Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou

Summary: This study aims to improve the management of Interface Control Documents (ICDs) in Systems of Systems (SoS) using the documentation-as-code philosophy. A Technical Action Research (TAR) study was conducted with engineers at ASTRON to gain insights on interface management issues. Based on these insights, a proof-of-concept was developed to address the issues and received positive reviews from practitioners and experts, identifying areas for improvement and future work.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Article Computer Science, Information Systems

The lifecycle of Technical Debt that manifests in both source code and issue trackers

Jie Tan, Daniel Feitosa, Paris Avgeriou

Summary: Although Technical Debt (TD) has received increasing attention, most studies are based on single sources. This study investigates the management of TD across different sources and finds that most resolved TD items in issue trackers are also paid back in source code, although many are not further discussed. It is also discovered that the identification of TD items often takes a long time (around one year) but can be resolved quickly if the same developer is involved in the process.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Information Systems

Warnings: Violation symptoms indicating architecture erosion

Ruiyin Li, Peng Liang, Paris Avgeriou

Summary: The degradation of software architecture as a software system evolves hampers software maintenance and evolution activities and affects the quality attributes of the system. This study investigates the characteristics of architecture violation symptoms in code review comments from the developers' perspective and provides insights on how developers address these symptoms.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

An Architectural Technical Debt Index Based on Machine Learning and Architectural Smells

Darius Sas, Paris Avgeriou

Summary: A key aspect of technical debt management is measuring the accumulated principal. Existing approaches to estimate technical debt principal focus on architectural debt, but lack full automation, availability, and validation. This article proposes a novel approach using machine learning and architectural smells to estimate architectural technical debt principal, addressing shortcomings of current approaches. The approach applies information retrieval techniques to train a learning-to-rank machine learning model, calculates the number of lines of code creating the smell, and combines these values for the debt estimation, validated through a case study and interviews with practitioners.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Proceedings Paper Computer Science, Software Engineering

Where and What do Software Architects blog?

Mohamed Soliman, Kirsten Gericke, Paris Avgeriou

Summary: This paper conducts an exploratory study on architectural blogs to investigate their types, topics, and their relevance to design steps. The results provide support for researchers and practitioners in finding and reusing valuable knowledge from blogs.

2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE, ICSA (2023)

Proceedings Paper Computer Science, Artificial Intelligence

Insecure Software on a Fragmenting Internet

Ita Ryan, Utz Roedig, Klaas-Jan Stol

Summary: This paper examines the global geopolitical forces pushing the world towards Internet nationalism and argues that the crisis in software security will worsen this trend. It discusses existing moves towards Internet fragmentation, current trends in online crime, espionage, and warfare, and the role of software vulnerabilities in driving nations apart. The paper emphasizes the urgent need for a 'zero tolerance' attitude towards software security issues and discusses the requirements for achieving this.

2022 CYBER RESEARCH CONFERENCE - IRELAND (CYBER-RCI) (2022)

Proceedings Paper Computer Science, Software Engineering

Documentation-as-Code for Interface Control Document Management in Systems of Systems: A Technical Action Research Study

Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou

Summary: The architecting of Systems of Systems (SoS) is an important topic that has gained increasing interest. However, the interplay between different disciplines involved in the architecting process is often overlooked, which has significant implications for integration and operational issues. In this research, the authors collaborated with practitioners in a large-scale radio astronomy SoS project to explore potential improvements in interface management by adopting elements of the documentation-as-code philosophy. The results and lessons learned from this study are reported in this paper.

SOFTWARE ARCHITECTURE, ECSA 2022 (2022)

Proceedings Paper Computer Science, Hardware & Architecture

Symptoms of Architecture Erosion in Code Reviews: A Study of Two OpenStack Projects

Ruiyin Li, Mohamed Soliman, Peng Liang, Paris Avgeriou

Summary: This study investigates the erosion symptoms discussed in code reviews, their trends, and the actions taken by developers in the OpenStack community. The findings show that code review is an effective way to reduce erosion symptoms, and analyzing the trend of erosion symptoms can provide insights into the erosion status of software systems and help avoid potential risks.

IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2022) (2022)

Article Computer Science, Information Systems

Why and how bug blocking relations are breakable: An empirical study on breakable blocking bugs

Hao Ren, Yanhui Li, Lin Chen, Yuming Zhou, Changhai Nie

Summary: This study aims to explore the breakable blocking bugs (BBBs) through quantitative and qualitative analysis. The analysis reveals that BBBs have higher levels of involvement, longer fix time, and more complex source code compared to other bugs. The study also identifies four reasons for breaking blocking relationships between bugs and three measures adopted by developers to break these relationships.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Vulnerability detection based on federated learning

Chunyong Zhang, Tianxiang Yu, Bin Liu, Yang Xin

Summary: This paper proposes a vulnerability detection framework based on federated learning (VDBFL), which combines code property graph, graph neural networks, and convolutional neural networks to detect vulnerability code. The experimental results show that this method outperforms other vulnerability detection methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Collaborative software design and modeling in virtual reality

Martin Stancek, Ivan Polasek, Tibor Zalabai, Juraj Vincur, Rodi Jolak, Michel Chaudron

Summary: The aim of this research is to support distributed software design activities in Virtual Reality (VR). Using design science research methodology, a tool for collaborative design in VR is designed and evaluated. The efficiency of collaboration and recall of design information when using VR software design environment compared to non-VR environment are evaluated. Furthermore, the perceptions and preferences of users are collected to explore the opportunities and challenges of using VR software design environment.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Improving domain-specific neural code generation with few-shot meta-learning

Zhen Yang, Jacky Wai Keung, Zeyu Sun, Yunfei Zhao, Ge Li, Zhi Jin, Shuo Liu, Yishu Li

Summary: This paper presents MetaCoder, a meta-learning code generation approach that efficiently extracts general-purpose knowledge from large-scale source languages and rapidly adapts to domain-specific scenarios.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Automated code-based test case reuse for software product line testing

Pilsu Jung, Seonah Lee, Uicheon Lee

Summary: This study proposes an automated code-based approach (ActSPL) for reusing SPL test cases by utilizing source code and test cases. The results show that ActSPL achieves high precision and recall, and significantly reduces the time required for testing a new product.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding the implementation issues when using deep learning frameworks

Chao Liu, Runfeng Cai, Yiqun Zhou, Xin Chen, Haibo Hu, Meng Yan

Summary: This paper conducts an empirical study on the implementation issues of deep learning frameworks, focusing on relevant questions on Stack Overflow. The study identifies various implementation issues and constructs a taxonomy, revealing that data processing, model setting, model training, and model prediction are the most common categories. The paper also provides suggestions for future research and aims to help developers and researchers understand these issues better.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Genetic model-based success probability prediction of quantum software development projects

Muhammad Azeem Akbar, Arif Ali Khan, Mohammad Shameem, Mohammad Nadeem

Summary: This study identifies key variables in quantum software development (QSD) and develops a model for predicting the success probability of QSD projects. The results show that as the QSD process matures, project success probability significantly increases and costs are notably reduced. The developed prediction model can help practitioners focus on key areas for successful implementation of QSD projects.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Developer and End-User Perspectives on Addressing Human Aspects in Mobile eHealth Apps

Md. Shamsujjoha, John Grundy, Hourieh Khalajzadeh, Qinghua Lu, Li Li

Summary: This paper investigates the challenges and benefits of incorporating human aspects into eHealth app development and usage from the perspectives of developers and end-users. The study used a mixed-method approach and gathered data from online surveys and interviews. The findings suggest that addressing human aspects throughout the app development life-cycle is beneficial for more effective eHealth apps.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding how early-stage researchers leverage socio-technical affordances for distributed research

Yuchao Jiang, Boualem Benatallah, Marcos Baez

Summary: This paper reports on interviews and surveys with early-stage researchers (ESRs) and explores the potential of online research communities in supporting ESRs to learn from diverse perspectives and experiences. The results reveal the limited adoption of research communities for learning and identify unmet needs in their design. Design implications for future socio-technical systems are provided to support the development of research skills.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Deep learning-based software bug classification

Jyoti Prakash Meher, Sourav Biswas, Rajib Mall

Summary: Accurate bug classification is important for speeding up bug triage, code inspection, and repair tasks. To improve classification, this study proposes a novel bug classification approach based on deep learning. The approach includes building a bug taxonomy with eight bug classes using keywords, annotating a large set of bug resolution reports, and utilizing attention-based classification techniques. Experimental results show that the proposed technique outperforms existing methods in terms of F1-Score by an average of 16.88% on the considered dataset.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Software Engineering for Systems-of-Systems and Software Ecosystems

Rodrigo Santos, Eleni Constantinou, Pablo Antonino, Jan Bosch

Summary: In the last decade, software engineering has faced challenges beyond technical aspects. The field now considers technological, organizational, and social aspects together in research and practice to handle complexity and provide solutions to the industry's demands. Systems-of-systems (SoS) and software ecosystems (SECO) have emerged as topics of interest, bringing together researchers and practitioners to understand how to manage and engineer software-intensive systems in modern, complex, distributed, dynamic, and open environments.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Stratified random sampling for neural network test input selection

Zhuo Wu, Zan Wang, Junjie Chen, Hanmo You, Ming Yan, Lanjun Wang

Summary: In this paper, a statistical method called Stratified random Sampling with Optimum Allocation (SSOA) is proposed to provide an unbiased estimation of model accuracy with the smallest estimation variance. The unlabeled test set is first divided into strata based on predictive confidences. Then, two stratum accuracy variance estimation methods are designed to allocate the given budget to each stratum based on the optimum allocation strategy. Multiple experiments are conducted to evaluate the effectiveness and stability of SSOA by comparing it with baseline methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Review Computer Science, Information Systems

The consolidation of game software engineering: A systematic literature review of software engineering for industry-scale computer games

Jorge Chueca, Javier Veron, Jaime Font, Francisca Perez, Carlos Cetina

INFORMATION AND SOFTWARE TECHNOLOGY (2024)