scholarly journals What Software Architecture Styles are Popular?

Author(s):  
Alexey Alexandrovich Mitsyuk ◽  
Nikolay Arsenovich Jamgaryan

One can meet the software architecture style's notion in the software engineering literature. This notion is considered important in books on software architecture and university sources. However, many software developers are not so optimistic about it. It is not clear, whether this notion is just an academic concept, or is actually used in the software industry. In this paper, we measured industrial software developers' attitudes towards the concept of software architecture style. We also investigated the popularity of eleven concrete architecture styles. We applied two methods. A developers’ survey was applied to estimate developers' overall attitude and define what the community thinks about the automatic recognition of software architecture styles. Automatic crawlers were applied to mine the open-source code from the GitHub platform. These crawlers identified style smells in repositories using the features we proposed for the architecture styles. We found that the notion of software architecture style is not just a concept of academics in universities. Many software developers apply this concept in their work. We formulated features for the eleven concrete software architecture styles and developed crawlers based on these features. The results of repository mining using the features showed which styles are popular among developers of open-source projects from commercial companies and non-commercial communities. Automatic mining results were additionally validated by the Github developers survey.

Author(s):  
Hari Setiabudi Husni

This research was conducted on one budget period in 2009 funded by DIKTI young lecturer research project grant. The main research location is Bina Nusantara University. Due to tight research schedule, it was necessary to take some strategic steps to fulfill research goals. One of the strategic steps was to invite several experts in software industry to give advices regarding open source software engineering issues. The first achievement was findings of some open source software that could assist on auditing information systems. Afterwards, comparison from technical and functional aspects resulted in the best software to be tested for implementation and usage, namely ZenossCore. The final output of this research is successful reengineering of the source code for virtual file testing.Keywords: open source software, audit implementation, information system


2015 ◽  
pp. 997-1012
Author(s):  
Jagadeesh Nandigam ◽  
Venkat N Gudivada

This chapter describes a pragmatic approach to using open source and free software tools as valuable resources to affect learning of software industry practices using iterative and incremental development methods. The authors discuss how the above resources are used in teaching undergraduate Software Engineering (SE) courses. More specifically, they illustrate iterative and incremental development, documenting software requirements, version control and source code management, coding standards compliance, design visualization, software testing, software metrics, release deliverables, software engineering ethics, and professional practices. The authors also present how they positioned the activities of this course to qualify it for writing intensive designation. End of semester course evaluations and anecdotal evidence indicate that the proposed approach is effective in educating students in software industry practices.


Author(s):  
Mark R. Allyn ◽  
Ram B. Misra

The motivational drivers of open source software developers have been researched by various investigators since about 2000. This work shows that developers are motivated by different extrinsic and intrinsic drivers, among them community aspirations, reciprocity and fairness, creative impulses, and monetary and career ambitions. There has been some work done in studying whether the profile of developer motivations is constant across open source projects or is sensitive to project organizational design. Among the many factors that could influence the mix of motives of OS developers is the license under which the work is performed. Licenses range in openness between those such as the GNU GPL that severely restrict the freedom of developers to mingle their OS code with proprietary code to those such as BSD licenses which allow programmers much greater latitude in integrating open source code with proprietary code. In addition to formal rules, meritocracies emerge to reward effort and performance, and also to direct, coordinate, and control other participants. The authors discuss these variables and how they may be related to motivations.


Author(s):  
Jagadeesh Nandigam ◽  
Venkat N. Gudivada

This chapter describes a pragmatic approach to using open source and free software tools as valuable resources to affect learning of software industry practices using iterative and incremental development methods. The authors discuss how the above resources are used in teaching undergraduate Software Engineering (SE) courses. More specifically, they illustrate iterative and incremental development, documenting software requirements, version control and source code management, coding standards compliance, design visualization, software testing, software metrics, release deliverables, software engineering ethics, and professional practices. The authors also present how they positioned the activities of this course to qualify it for writing intensive designation. End of semester course evaluations and anecdotal evidence indicate that the proposed approach is effective in educating students in software industry practices.


Cybersecurity ◽  
2021 ◽  
Vol 4 (1) ◽  
Author(s):  
Yuhang Zhao ◽  
Ruigang Liang ◽  
Xiang Chen ◽  
Jing Zou

AbstractIn recent years, the widespread applications of open-source software (OSS) have brought great convenience for software developers. However, it is always facing unavoidable security risks, such as open-source code defects and security vulnerabilities. To find out the OSS risks in time, we carry out an empirical study to identify the indicators for evaluating the OSS. To achieve a comprehensive understanding of the OSS assessment, we collect 56 papers from prestigious academic venues (such as IEEE Xplore, ACM Digital Library, DBLP, and Google Scholar) in the past 21 years. During the process of the investigation, we first identify the main concerns for selecting OSS and distill five types of commonly used indicators to assess OSS. We then conduct a comparative analysis to discuss how these indicators are used in each surveyed study and their differences. Moreover, we further undertake a correlation analysis between these indicators and uncover 13 confirmed conclusions and four cases with controversy occurring in these studies. Finally, we discuss several possible applications of these conclusions, which are insightful for the research on OSS and software supply chain.


Author(s):  
Linus Nyman ◽  
Tommi Mikkonen

A project fork occurs when software developers take a copy of source code from one software package and use it to begin an independent development work that is maintained separately. Although forking in open source software does not require the permission of the original authors, the new version competes for the attention of the same developers that have worked on the original version. The motivations developers have for performing forks are many, but in general they have received little attention. The authors present the results of a study of forks performed in SourceForge (http://sourceforge.net/) and list the developers’ motivations for their actions.


10.29007/fqc6 ◽  
2018 ◽  
Author(s):  
Thomas Baar ◽  
Issam Bendaas

With adoption of the UML and other graphical languages by software industry,graphical models became a cornerstone in today's software development practice.As other artefacts such as program source code, graphical models evolve overtime and are, thus, put regularily under version control.In order to deeply understand the role an artefact plays within a project, it issometimes helpful to review the history of this artefact. While there arenumerous tools available that make it easy for a user to grasp the evolution oftextual files (or even portions of it), an adequate support for graphical fileshas remained to be an area of niche products.In this paper, we argue that a better support for reviewing the version historyof graphical files can facilitate the work with graphical models. In order tosupport this claim, we implemented a prototypcical tool that can extract anddisplay the version history of any graphical file stored in a GitHub-repository.In addition, users can annotate each version of a file with comments, whatturns our tool into a review tool for software projects. Recently, we started touse the tool is a software engineering course to give students better feedbackon complex UML models they have to develop iteratively.


Author(s):  
Pankaj Kamthan

As the development and use of open source software (OSS) becomes prominent, the issue of its outreach in an educational context arises. The practices fundamental to software engineering, including those related to management, process, and workflow deliverables, are examined in light of OSS. Based on a pragmatic framework, the prospects of integrating OSS in a traditional software engineering curriculum are outlined, and concerns in realizing them are given. In doing so, the cases of the adoption of an OSS process model, the use of OSS as a computer-aided software engineering (CASE) tool, OSS as a standalone subsystem, and open source code reuse are considered. The role of openly accessible content in general is discussed briefly.


2013 ◽  
Vol 373-375 ◽  
pp. 1172-1177
Author(s):  
Bo Shu ◽  
Xiao Jun Du

Because of the complexity of the software development, some software developers may plagiarize source code that comes from other projects or open source software in order to shorten development cycle. Usually the copyist would modify and disguise the source code copied to escape plagiarism detection. So far, most algorithms cant completely detect the source disguised by the copyist, especially cant exactly distinguish between the source code and the plagiaristic code. In this paper, we summarize and analyze the effect of disguised source to the detection process, design the strategy to remove the effect of disguised source, and propose a PDG-based software source code plagiarism detection algorithm. The algorithm can detect the existence of disguised source, so as to find out source code plagiarism. And we propose a heuristic rule to make the detection algorithm have the ability to give the plagiarism direction. Any existing algorithm does not have this function. We prove the availability of the algorithm by experiment.


2012 ◽  
Vol 4 (3) ◽  
pp. 13-25
Author(s):  
Pankaj Kamthan

As the development and use of open source software (OSS) becomes prominent, the issue of its outreach in an educational context arises. The practices fundamental to software engineering, including those related to management, process, and workflow deliverables, are examined in light of OSS. Based on a pragmatic framework, the prospects of integrating OSS in a traditional software engineering curriculum are outlined, and concerns in realizing them are given. In doing so, the cases of the adoption of an OSS process model, the use of OSS as a computer-aided software engineering (CASE) tool, OSS as a standalone subsystem, and open source code reuse are considered. The role of openly accessible content in general is discussed briefly.


Sign in / Sign up

Export Citation Format

Share Document