Several approaches have been proposed to reduce debugging costs through
automated software fault diagnosis. Dynamic Slicing (DS) and Spectrum-based
Fault Localization (SFL) are popular fault diagnosis techniques and normally
seen as complementary. This paper reports on a comprehensive
study to reassess the effects of combining DS with SFL. With this
combination, components that are often involved in failing but seldom in passing
test runs could be located and their suspiciousness reduced.
Results show that the DS-SFL combination, coined
as Tandem-FL, improves the diagnostic accuracy up
to 73.7% (13.4% on average). Furthermore, results
indicate that the risk of missing faulty statements,
which is a DS?s key limitation, is not high ? DS
misses faulty statements in 9% of the 260 cases. To
sum up, we found that the DS-SFL combination
was practical and effective and encourage new SFL
techniques to be evaluated against that optimization.
Security is a requirement of utmost importance to produce high-quality software. However, there is still a considerable amount of vulnerabilities being discovered and fixed almost weekly. We hypothesize that developers affect the maintainability of their codebases when patching vulnerabilities. This paper evaluates the impact of patches to improve security on the maintainability of open-source software. Maintainability is measured based on the Better Code Hub's model of 10 guidelines on a dataset, including 1300 security-related commits. Results show evidence of a trade-off between security and maintainability for 41.90% of the cases, i.e., developers may hinder software maintainability. Our analysis shows that 38.29% of patches increased software complexity and 37.87% of patches increased the percentage of LOCs per unit. The implications of our study are that changes to codebases while patching vulnerabilities need to be performed with extra care; tools for patch risk assessment should be integrate into the CI/CD pipeline; computer science curricula needs to be updated; and, more secure programming languages are necessary.Keywords Software security • Software maintenance • Open-source software
IntroductionSoftware quality is important because it is ultimately related to the overall cost of developing and maintaining software applications, security and safety (Slaughter et al. 1998).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.