scholarly journals A longitudinal study of static analysis warning evolution and the effects of PMD on software quality in Apache open source projects

2020 ◽  
Vol 25 (6) ◽  
pp. 5137-5192 ◽  
Author(s):  
Alexander Trautsch ◽  
Steffen Herbold ◽  
Jens Grabowski

Abstract Automated static analysis tools (ASATs) have become a major part of the software development workflow. Acting on the generated warnings, i.e., changing the code indicated in the warning, should be part of, at latest, the code review phase. Despite this being a best practice in software development, there is still a lack of empirical research regarding the usage of ASATs in the wild. In this work, we want to study ASAT warning trends in software via the example of PMD as an ASAT and its usage in open source projects. We analyzed the commit history of 54 projects (with 112,266 commits in total), taking into account 193 PMD rules and 61 PMD releases. We investigate trends of ASAT warnings over up to 17 years for the selected study subjects regarding changes of warning types, short and long term impact of ASAT use, and changes in warning severities. We found that large global changes in ASAT warnings are mostly due to coding style changes regarding braces and naming conventions. We also found that, surprisingly, the influence of the presence of PMD in the build process of the project on warning removal trends for the number of warnings per lines of code is small and not statistically significant. Regardless, if we consider defect density as a proxy for external quality, we see a positive effect if PMD is present in the build configuration of our study subjects.

2002 ◽  
Vol 4 (4) ◽  
pp. 219-234 ◽  
Author(s):  
Hamish Harvey ◽  
Dawei Han

Open Source, in which the source code to software is freely shared and improved upon, has recently risen to prominence as an alternative to the more usual closed approach to software development. A number of high profile projects, such as the Linux operating system kernel and the Apache web server, have demonstrated that Open Source can be technically effective, and companies such as Cygnus Solutions (now owned by Red Hat) and Zope Corporation have demonstrated that it is possible to build successful companies around open source software. Open Source could have significant benefits for hydroinformatics, encouraging widespread interoperability and rapid development. In this paper we present a brief history of Open Source, a summary of some reasons for its effectiveness, and we explore how and why Open Source is of particular interest in the field of hydroinformatics. We argue that for technical, scientific and business reasons, Open Source has a lot to offer.


2021 ◽  
Vol 17 (11) ◽  
pp. e1009481
Author(s):  
Haley Hunter-Zinck ◽  
Alexandre Fioravante de Siqueira ◽  
Váleri N. Vásquez ◽  
Richard Barnes ◽  
Ciera C. Martinez

Functional, usable, and maintainable open-source software is increasingly essential to scientific research, but there is a large variation in formal training for software development and maintainability. Here, we propose 10 “rules” centered on 2 best practice components: clean code and testing. These 2 areas are relatively straightforward and provide substantial utility relative to the learning investment. Adopting clean code practices helps to standardize and organize software code in order to enhance readability and reduce cognitive load for both the initial developer and subsequent contributors; this allows developers to concentrate on core functionality and reduce errors. Clean coding styles make software code more amenable to testing, including unit tests that work best with modular and consistent software code. Unit tests interrogate specific and isolated coding behavior to reduce coding errors and ensure intended functionality, especially as code increases in complexity; unit tests also implicitly provide example usages of code. Other forms of testing are geared to discover erroneous behavior arising from unexpected inputs or emerging from the interaction of complex codebases. Although conforming to coding styles and designing tests can add time to the software development project in the short term, these foundational tools can help to improve the correctness, quality, usability, and maintainability of open-source scientific software code. They also advance the principal point of scientific research: producing accurate results in a reproducible way. In addition to suggesting several tips for getting started with clean code and testing practices, we recommend numerous tools for the popular open-source scientific software languages Python, R, and Julia.


2014 ◽  
Vol 644-650 ◽  
pp. 5781-5786
Author(s):  
Xiao Dong Zhang ◽  
Chen Jian Gong ◽  
Ying Zi Li ◽  
Dong Fang Zhao

With the advantage of low cost and high innovation level, Open Source Design (OSD) has become an effective way to provide diverse products with high customer satisfaction by open group intelligence. Based on literatures and best practice of the successful OSD communities, this paper classified open source community into three types: open source hardware, public investment, and personality customization. According to the process analysis of these three kinds of communities, various operation mechanisms are investigated and presented respectively. The classification and the operation mechanisms proposed in this paper can help OSD community to make rational decision in their software development process, as well as to improve the outcome and innovation efficiency of the communities.


2021 ◽  
Vol 17 (1) ◽  
Author(s):  
A. Meier ◽  
J. McGree ◽  
R. Klee ◽  
J. Preuß ◽  
D. Reiche ◽  
...  

Abstract Background Endocrinopathic, or hyperinsulinaemia-associated laminitis (HAL) is a common and debilitating equine foot disease, and although no pharmacological treatments are registered, several are under development. To evaluate the effect of such treatments, an accurate and consistent method is needed to track the clinical signs of laminitis over time, and the natural history of the disease, in terms of a ‘normal’ pattern of improvement, needs to be understood. This study examined the improvement pattern in clinical cases of naturally-occurring HAL subjected to a range of best-practice interventions, using two different scoring methods. Eighty horses and ponies with suspected HAL were enrolled in a study conducted at 16 veterinary practices across Germany. The severity of laminitis was assessed by independent veterinarians using both the traditional Obel method and a modified Obel method developed by Meier and colleagues. Assessments were made on the day of diagnosis (d 0), then on days 4, 9, 14, 25 and 42 during the intervention period. Pain medications were withheld for 24 h prior to clinical examination in all cases. Results Time to marked improvement from laminitis varied between individuals, but was difficult to monitor accurately using the Obel method, with the median grade being 2/4 on days 0 and 4, then 0/4 from d 9 onwards. More subtle changes could be identified using the Meier method, however, and the median scores were seen to follow the form of an exponential decay model in most horses, improving from 8/12 on d 0, to 0/12 on d 25. Within this composite scoring method, considerable variation was observed in the rate of improvement of individual clinical signs, with the average time taken for each sign to reach a median score of 0 ranging from 4 days (foot lift and weight shifting) to 25 days (gait when turned in a circle) across all 80 horses. Conclusions The Meier method provides a reliable and consistent method for monitoring the clinical status of horses with HAL, and despite the variability, the pattern of improvement described here should provide a useful benchmark against which individual cases and new treatments can be assessed.


Sign in / Sign up

Export Citation Format

Share Document