A Framework for Understanding the Open Source Revolution

Author(s):  
Jeff Elpern ◽  
Sergiu Dascalu

Traditional software engineering methodologies have mostly evolved from the environment of proprietary, large-scale software systems. Here, software design principles operate within a hierarchical decision- making context. Development of banking, enterprise resource and complex weapons systems all fit this paradigm. However, another paradigm for developing software-intensive systems has emerged, the paradigm of open source software. Although from a traditional perspective open source projects might look like chaos, their real-world results have been spectacular. This chapter presents open source software development as a fundamentally new paradigm driven by economics and facilitated by new processes. The new paradigm’s revolutionary aspects are explored, a framework for describing the massive impact brought about by the new paradigm is proposed, and directions of future research are outlined. The proposed framework’s goals are to help the understanding of the open source paradigm as a new economic revolution and stimulate research in designing open source software.

2016 ◽  
Vol 22 (3) ◽  
pp. 1146-1193 ◽  
Author(s):  
Pooyan Behnamghader ◽  
Duc Minh Le ◽  
Joshua Garcia ◽  
Daniel Link ◽  
Arman Shahbazian ◽  
...  

2021 ◽  
Vol 54 (6) ◽  
pp. 1-37
Author(s):  
Shilin He ◽  
Pinjia He ◽  
Zhuangbin Chen ◽  
Tianyi Yang ◽  
Yuxin Su ◽  
...  

Logs are semi-structured text generated by logging statements in software source code. In recent decades, software logs have become imperative in the reliability assurance mechanism of many software systems, because they are often the only data available that record software runtime information. As modern software is evolving into a large scale, the volume of logs has increased rapidly. To enable effective and efficient usage of modern software logs in reliability engineering, a number of studies have been conducted on automated log analysis. This survey presents a detailed overview of automated log analysis research, including how to automate and assist the writing of logging statements, how to compress logs, how to parse logs into structured event templates, and how to employ logs to detect anomalies, predict failures, and facilitate diagnosis. Additionally, we survey work that releases open-source toolkits and datasets. Based on the discussion of the recent advances, we present several promising future directions toward real-world and next-generation automated log analysis.


2021 ◽  
Vol 10 (1) ◽  
pp. 34
Author(s):  
Shinji Akatsu ◽  
Ayako Masuda ◽  
Tsuyoshi Shida ◽  
Kazuhiko Tsuda

Open source software (OSS) has seen remarkable progress in recent years. Moreover, OSS usage in corporate information systems has been increasing steadily; consequently, the overall impact of OSS on the society is increasing as well. While product quality of enterprise software is assured by the provider, the deliverables of an OSS are developed by the OSS developer community; therefore, their quality is not guaranteed. Thus, the objective of this study is to build an artificial-intelligence-based quality prediction model that corporate businesses could use for decision-making to determine whether a desired OSS should be adopted. We define the quality of an OSS as “the resolution rate of issues processed by OSS developers as well as the promptness and continuity of doing so.” We selected 44 large-scale OSS projects from GitHub for our quality analysis. First, we investigated the monthly changes in the status of issue creation and resolution for each project. It was found that there are three different patterns in the increase of issue creation, and three patterns in the relationship between the increase in issue creation and that of resolution. It was confirmed that there are multiple cases of each pattern that affect the final resolution rate. Next, we investigated the correlation between the final resolution rate and that for a relevant number of months after issue creation. We deduced that the correlation coefficient even between the resolution rate in the first month and the final rate exceeded 0.5. Based on these analysis results, we conclude that the issue resolution rate in the first month once an issue is created is applicable as knowledge for knowledge-based AI systems that can be used to assist in decision-making regarding OSS adoption in business projects.


10.28945/4516 ◽  
2020 ◽  
Author(s):  
Christine Bakke

Aim/Purpose: To examine crowd-sourced programming as an experiential learning, instructional medium. The goal is to provide real-time, real-world, artificial intelligence programming without textbook instructional materials. Background: Open source software has resulted in loosely knit communities of global software developers that work together on a software project. Taking open source software development to another level, current trends have expanded into crowd sourced development of Artificial Intelligence (AI). This project explored the use of Amazon Alexa’s tools and web resources to learn AI software development. Methodology: This project incorporated experiential and inquiry educational methods that combined direct experience with crowd-sourced programming while requiring students to take risks, solve problems, be creative, make mistakes and resolve them. The instructor facilitated the learning experience through weekly meetings and structured reports that focused on goal setting and analysis of problems. This project is part of ongoing research into small group creative works research that provides students with real-world coding experience. Contribution: Undergraduate students successfully programmed an introductory level social bot using experiential learning methods and a crowd-sourced programming project (Amazon Alexa social bot). Findings: A of the experience and findings will be included with final paper release summary Recommendations for Practitioners: Crowd sourced programming provides opportunities and can be harnessed for semester long coding projects to develop student programming skills through direct involvement in real open sourced projects. Recommendation for Researchers: There is a high rate of failure associated with software projects, yet pro-gramming courses continue to be taught as they have been for decades. More research needs to be done and instructional materials developed for the undergraduate level that use real programming projects. Can we improve the rate of success for software projects by requiring expe-riential education in our courses? Impact on Society: Crowd-sourced programming is an opportunity for students to learn to program and build their portfolio with real world experience. Students participating in crowd-sourced programming are involved in creative works research and gain experience developing real-world software. Future Research: Future research will explore experiential learning such as crowd-sourced and other open source programming opportunities for undergraduate students to participate in real software development.


2020 ◽  
Vol 2020 ◽  
pp. 1-20
Author(s):  
Aihua Gu ◽  
Lu Li ◽  
Shujun Li ◽  
Qifeng Xun ◽  
Jian Dong ◽  
...  

Context. Coupling between classes is an important metric for software complexity in software systems. Objective. In order to overcome the shortcomings of the existing coupling methods and fully investigate the weighted coupling of classes in different cases in large-scale software systems, this study analyzed the relationship between classes at package level, class level, and method level. Method. The software system is considered as a set of special bipartite graphs in complex networks, and an effective method for coupling measurement is proposed as well. Furthermore, this method is theoretically proved to satisfy the mathematical properties of coupling measurement, leading to overcome the disadvantages of the majority of existing methods. In addition, it was revealed that the proposed method was efficient according to the analyses of existing methods for coupling measurement. Eventually, an algorithm was designed and a program was developed to calculate coupling between classes in three open-source software systems. Results. The results indicated the scale-free characteristic of complex networks in the statistical data. Additionally, the calculated power-law value was used as a metric for coupling measurement, so as to calculate coupling of the three open-source software. It indicated that coupling degrees of the open-source software systems contained a certain impact on evaluation of software complexity. Conclusions. It indicated that coupling degrees of the open-source software systems contained a certain impact on evaluation of software complexity. Moreover, statistical characteristics of some complex networks provided a reliable reference for further in-depth study of coupling. The empirical evidence showed that within a certain range, reducing the coupling was helpful to attenuate the complexity of the software, while excessively blindly pursuit of low coupling increases the complexity of software systems.


2012 ◽  
Vol 622-623 ◽  
pp. 1933-1936
Author(s):  
Fang Jun Wu

Open source software systems are becoming increasingly important these days and will grow stronger in the future. In order to gain more information about them, their structure characteristics and behavior characteristics need to be measured. This paper tests scale free characteristics on open source real-world software empirically. More specially, this paper checks whether Chidamber and Kemerer metrics suite follows power law or not through three versions of Weka. Our empirical results showed that the features of complex networks didn’t exist in Weka.


Sign in / Sign up

Export Citation Format

Share Document