code quality
Recently Published Documents


TOTAL DOCUMENTS

259
(FIVE YEARS 87)

H-INDEX

18
(FIVE YEARS 3)

2022 ◽  
Vol 31 (2) ◽  
pp. 1-23
Author(s):  
Jevgenija Pantiuchina ◽  
Bin Lin ◽  
Fiorella Zampetti ◽  
Massimiliano Di Penta ◽  
Michele Lanza ◽  
...  

Refactoring operations are behavior-preserving changes aimed at improving source code quality. While refactoring is largely considered a good practice, refactoring proposals in pull requests are often rejected after the code review. Understanding the reasons behind the rejection of refactoring contributions can shed light on how such contributions can be improved, essentially benefiting software quality. This article reports a study in which we manually coded rejection reasons inferred from 330 refactoring-related pull requests from 207 open-source Java projects. We surveyed 267 developers to assess their perceived prevalence of these identified rejection reasons, further complementing the reasons. Our study resulted in a comprehensive taxonomy consisting of 26 refactoring-related rejection reasons and 21 process-related rejection reasons. The taxonomy, accompanied with representative examples and highlighted implications, provides developers with valuable insights on how to ponder and polish their refactoring contributions, and indicates a number of directions researchers can pursue toward better refactoring recommenders.


2021 ◽  
Author(s):  
Emma MacKenzie ◽  
Sophie Winterbourne ◽  
Felicity Anderson ◽  
Edward Wallace

Open science is a movement to allow scientific information, data and outputs to be more widely accessible and reusable, with the active engagement of all the stakeholders. Open science can also describe openness within a research group where all participants share their data, analysis code, ideas and feedback. These ideas can be applied to all aspects of science, from large research consortia to student projects. With great accessibility comes greater reproducibility, leading to better code quality and better research. Here we describe what we have learned and gained from taking an open-science approach in undergraduate and masters student research projects, from the perspective of the student, the day-to-day supervisor, and the principal investigator (PI) or research group leader. We argue for the importance of clear expectations, communication, documentation, and of modelling collaborative behaviour. To design a good student project, we recommend planning the project outcomes so that everybody wins, and planning a pathway from novice to expert within the project.


2021 ◽  
Vol 27 (10) ◽  
pp. 1096-1127
Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Today, there is no company that does not attempt to control or assure software quality in a greater or lesser extent. Software quality has been mainly studied from the perspectives of the software product and the software process. However, there is no thorough research about how code quality is affected by the software development projects’ contexts. This study analyses how the evolution of the development effort (i.e., the number of developers and their contributions) influences the code quality (i.e., the number of bugs, code smells, cloning, etc). This paper presents a multiple case study that analyses 13 open-source projects from GitHub and SonarCloud, and retrieves more than 95,000 commits and more than 25,000 quality measures. The insights are that more developers or higher number of commits does not necessary influence worse quality levels. After applying a clustering algorithm, it is detected an inverse correlation in some cases where specific efforts were made to improve code quality. The size of commits and the relative weight of developers in their teams might also affect measures like complexity or cloning. Project managers can therefore understand the mentioned relationships and consequently make better decisions based on the information retrieved from code repositories.


2021 ◽  
Vol 15 (3) ◽  
pp. 371-380
Author(s):  
Lida Bamizadeh ◽  
Binod Kumar ◽  
Ajay Kumar ◽  
Shailaja Shirwaikar

Pitfalls in software development process can be prevented by learning from other people's mistakes. Software practitioners and researchers document lessons learned and the knowledge about best practices is spread over literature. Presence of code smells does not indicate that software won’t work, but it will reveal deeper problems and rising risk of failure in future. Software metrics are applied to detect code smells whereas refactoring can remove code smells, improve code quality and make it simpler and cleaner. Detection tools facilitate management of code smells. Knowledge about code smells and related concepts can assist the software maintenance process. Exploratory analysis of code smells carried out in this paper, covers collecting data about code smells, identifying related concepts, categorizing and organizing this knowledge into a code smell repository, which can be made available to software developers. A detailed literature survey is carried out to identify code smells and related concepts. An initial list of 22 code smells proposed in 1999 has grown over the years into 65 code smells. The relationship between code smells, software metrics, refactoring methods and detection tools available in literature is also documented. Templates are designed that capture knowledge about code smells and related concepts. A code smell repository is designed and implemented to maintain all the information gathered about code smells and related concepts and is made available to software practitioners. All the knowledge about code smells found in literature is collected, organized and made accessible.


2021 ◽  
Vol 8 (3) ◽  
pp. 1508-1514
Author(s):  
Fradina Kristina Sinambela

Programming teachers very often assess their students' submissions solely from their correctness, sometimes with the help of an automated-grading platform. This approach is arguably effective and efficient at the same time. Unfortunately, this single-dimension assessment approach narrows the students' perspective on a high-quality solution to just a working solution. In the real world setting, a solution should be maintainable with minimal cost. Maintainability is closely related to code quality. In this paper, we present a web-based tool that would help the teachers to assess the students' submissions from both correctness and quality in one place. In this tool, we integrate GitHub Classroom and SonarQube.


Sign in / Sign up

Export Citation Format

Share Document