1. Resolving security issues via quality-oriented refactoring:a user study
- Author
-
Gigante, D. (Domenico), Pecorelli, F. (Fabiano), Barletta, V. S. (Vita Santa), Janes, A. (Andrea), Lenarduzzi, V. (Valentina), Taibi, D. (Davide), Baldassarre, M. T. (Maria Teresa), Gigante, D. (Domenico), Pecorelli, F. (Fabiano), Barletta, V. S. (Vita Santa), Janes, A. (Andrea), Lenarduzzi, V. (Valentina), Taibi, D. (Davide), and Baldassarre, M. T. (Maria Teresa)
- Abstract
Software quality is crucial in software development: if not addressed in early phases of the software development life cycle, it may even lead to technical bankruptcy, i.e., a situation in which modifications cost more than redeveloping the application from scratch. In addition, code security must also be addressed to reduce software vulnerabilities and to comply with legal requirements. In this work, we aim to investigate the relationship between refactoring code quality and software security, with the purpose of understanding whether and to what extent improving software quality could have a positive impact on software security as well. Specifically, we investigate to what extent rule violations of a software quality tool such as SonarQube overlap with rule violations of a software vulnerability tool like Fortify Static Code Analyzer. We first compared the rules encoded in the quality models of both tools, to discover possible overlapping cases. Later, we compared the issues raised by both tools on a set of open source Java projects; we also investigated the cases in which a quality refactoring process impacts over software security (thus removing one or more vulnerabilities). We furthermore validated our results statistically. Our results show that resolving software quality issues might also resolve security issues but only in part: many security issues still persist in the source code; also, some quality aspects are more likely to be improved in respect to others. In addition, this empirical study uncovers rule co-occurrences between the two tools. This study confirms the need for using a security-oriented static analysis tool to enforce software security instead of relying only on a quality-oriented one. Results have highlighted important insights for practitioners.
- Published
- 2023