{'fraction_non_alphanumeric': 0.012756909992912827, 'fraction_numerical': 0.0, 'mean_word_length': 5.247787610619469, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Assessing the Effectiveness of Static Analysis through Defect Correlation Analysis

Assessment of code and design quality using Software Code Assessment tools is important for continuous improvement and monitoring of code quality in the software industry in general and for global software development in particular. Static Analysis is believed to help identify issues at an early stage in the software development life cycle (SDLC), however it is still under utilized in the industry. In this paper, we discuss our experiences in determining the importance of Static Analysis and the extent to which the defects (that could otherwise be slipped to later stages of SDLC) could have been reduced with the continuous use of Static Analysis. Towards this end, we have performed analysis of defects reported from testing/field by correlating the defects to Static Analysis Rules, for projects that were developed across different regions. Our focus was to gather insight into the number and type of defects that could be identified in advance through Static Analysis Rules. The purpose of gaining the insights is to justify the ROI for software quality checks, fine tune, update existing software quality practices and introduce new practices uniformly across the teams as necessary. The results substantiate the role of Static Analysis in reducing technical debt by identifying potential defects early in the SDLC.