What motivate software engineers to refactor source code? evidences from professional developers

Author(s):  
Yi Wang
2016 ◽  
Vol 23 (2) ◽  
pp. 488
Author(s):  
Tim Benson

Background: Open source software (OSS) is becoming more fashionable in health and social care, although the ideas are not new. However progress has been slower than many had expected.Objective: The purpose is to summarise the Free/Libre Open Source Software (FLOSS) paradigm in terms of what it is, how it impacts users and software engineers and how it can work as a business model in health and social care sectors.Method: Much of this paper is a synopsis of Eric Raymond’s seminal book The Cathedral and the Bazaar, which was the first comprehensive description of the open source ecosystem, set out in three long essays. Direct quotes from the book are used liberally, without reference to specific passages. The first part contrasts open and closed source approaches to software development and support. The second part describes the culture and practices of the open source movement. The third part considers business models.Conclusion: A key benefit of open source is that users can access and collaborate on improving the software if they wish. Closed source code may be regarded as a strategic business risk that that may be unacceptable if there is an open source alternative. The sharing culture of the open source movement fits well with that of health and social care.


Author(s):  
Donald Needham ◽  
Rodrigo Caballero ◽  
Steven Demurjian ◽  
Felix Eickhoff ◽  
Yi Zhang

This chapter examines a formal framework for reusability assessment of development-time components and classes via metrics, refactoring guidelines, and algorithms. It argues that software engineers seeking to improve design reusability stand to benefit from tools that precisely measure the potential and actual reuse of software artifacts to achieve domain-specific reuse for an organization’s current and future products. The authors consider the reuse definition, assessment, and analysis of a UML design prior to the existence of source code, and include dependency tracking for use case and class diagrams in support of reusability analysis and refactoring for UML. The integration of these extensions into the UML tool Together Control Center to support reusability measurement from design to development is also considered.


2020 ◽  
Author(s):  
Michael Dorin ◽  
Trang Le ◽  
Rajkumar Kolakaluri ◽  
Sergio Montenegro

It is commonly understood that code reviews are a cost-effective way of finding faults early in the development cycle. However, many modern software developers are too busy to do them. Skipping code reviews means a loss of opportunity to detect expensive faults prior to software release. Software engineers can be pushed in many directions and reviewing code is very often considered an undesirable task, especially when time is wasted reviewing programs that are not ready. In this study, we wish to ascertain the potential for using machine learning and image recognition to detect immature software source code prior to a review. We show that it is possible to use machine learning to detect software problems visually and allow code reviews to focus on application details. The results are promising and are an indication that further research could be valuable.


Author(s):  
Nadezhda Yarushkina ◽  
Gleb Guskov ◽  
Pavel Dudarin

Software engineers from all over the world solve independently a lot of similar problems. In this condition the problem of code or even better architecture reusing becomes an issue of the day. In this paper two phase approach to determining the functional and structural likenesses of software projects is proposed. This approach combines two methods of artificial intelligence: natural language processing techniques with a novel method for comparing software projects based on ontological representation of their architecture automatically obtained from the projects source code. Additionally several similarity metrics are proposed to estimate similarity between projects.


Perception ◽  
2016 ◽  
Vol 46 (5) ◽  
pp. 541-565 ◽  
Author(s):  
Pavel A. Orlov ◽  
Roman Bednarik

Understanding software engineers’ behaviour plays a vital role in the software development industry. It also provides helpful guidelines for teaching and learning. In this article, we conduct a study of the extrafoveal vision and its role in information processing. This is a new perspective on source code comprehension. Despite its major importance, the extrafoveal vision has been largely ignored by previous studies. The available research has been focused entirely on the foveal information processing and the gaze fixation position. In this work, we share the results of a gaze-contingent study of source code comprehension by expert ( N = 12) and novice ( N = 12) programmers in conditions of the restricted extrafoveal vision. The window-moving paradigm was employed to restrict the extrafoveal area of vision as participants comprehend two source code examples. The results indicate that the semantic preview allowed by the extrafoveal vision provides tangible benefits to expert programmers. When the experts could not use the semantic information from the extrafoveal area, their fixation duration increased to duration similar to novices. The experts’ performance dropped in the restricted-view mode, and they required more time to solve the tasks.


2019 ◽  
Vol 9 (3) ◽  
pp. 4243-4248 ◽  
Author(s):  
R. A. Al-Msie'deen

Software visualization helps software engineers to understand and manage the size and complexity of the object-oriented source code. The tag cloud is a simple and popular visualization technique. The main idea of the tag cloud is to represent tags according to their frequency in an alphabetical order where the most important tags are highlighted via a suitable font size. This paper proposes an original approach to visualize software code using a tag cloud. The approach exploits all software identifier names to visualize software code as a tag cloud. Experiments were conducted on several case studies. To validate the approach, it is applied on NanoXML and ArgoUML. The results of this evaluation validate the relevance and the performance of the proposed approach as all tag names and their frequencies were correctly identified. The proposed tag cloud visualization technique is a helpful addition to the software visualization toolkit. The extracted tag cloud supports software engineers as they filter and browse data.


10.29007/f5md ◽  
2019 ◽  
Author(s):  
Santiago Hyun Dorado ◽  
Julio Ariel Hurtado

The architectural rationale is the documentation of the reasons why certain software design decisions are made that satisfy quality needs in a system. On many occasions this rationale is implicitly found in precise sentences of the system's documentation or the same source code, making it difficult to understand and make decisions on the maintenance phase, leading to a deviation and erosion of the architecture and therefore aging of the software. In this paper, we discuss the utility of a tool based on code annotations as an alternative to document the architectural rationale with the source code. For this, a quasi-experiment with local industry software engineers is done, in order to answer the research question: Does the source code annotations, with information about the architectural rationale, improves the software maintenance? The quasi-experiment is done with software engineers who know Java language and notions of software architectures. It included 3 tasks that involve changes to the architecture and its documentation. After the results were analyzed using the t-student test, concluding that the participants who use the annotations with information of the Architectural Rationale achieve a better understanding of the architecture and its Rationale than those using a traditional way for documenting the rationale(documents). However, the efficiency and effectiveness of maintenance time do not depend on the Rationale specification. With the same problem, the variation was due to the ability of individuals to develop software, but the documentation of the architecture, in general, was very important to be able to make the changes within the limits.


2019 ◽  
Vol 2 (1) ◽  
pp. 1-16
Author(s):  
Nana Suarna
Keyword(s):  

Seiring waktu, jumlah surat dalam sebuah perusahaan semakin hari makin banyak, sehingga muncul permasalahan dalam mengelolanya administrasi suarat, baik ketika dalam pencatatan surat maupun proses disposisi, serta pada saat pencarian arsip surat. Hampir sebagai besar surat yang ada di kantor-kantor masih disimpan dalam bentuk file-file yang masih bersifat manual, sehingga memungkinkan surat tersebut menunpuk, dan memerlukan waktu yang lama dalam pencarian dan pemrosesannya. Dengan dibangunnya  sistem manajemen pengarsipan bertujuan untuk mengatasi permasalahan-permasalahan tersebut di atas. Pemrograman  saat ini, baik desktop maupun web based, semakin marak  pengerjaannya menggunakan framework code igniter berbasis PHP. Framework CI memang dikembangkan untuk memudahkan dalam developing aplikasi dengan struktur  file source code-nya menggunakan pendekatan Models-Views-Controller (MVC) dan pemrograman berorientasi objek, oleh sebab itu penulis menggunakan CI dalam developing aplikasi ini. Aplikasi sistem manajemen surat dan pengarsipan ini dapat diakses dalam internal perusahaan web, yang bertujuan untuk memudahkan karyawan  dalam pengelolaan dan  mengaksesnya surat menyurat, selain itu aplikasi ini juga memberikan kemudahan dalam proses pencatatan surat,  disposisi, dan proses pencarian sehingga aplikasisi ini memiliki performa yang handal, mudah untuk di-maintenance dan dikembangkan lebih lanjut seiring perkembangan kebutuhan penggunanya.


Sign in / Sign up

Export Citation Format

Share Document