Contemporary COBOL: Developers' Perspectives on Defects and Defect Location
This addresses the shortage of COBOL developers and maintenance challenges for legacy mainframe systems, but it is incremental as it primarily surveys and compares existing practices.
The study surveyed 30 COBOL and 74 modern programming language developers to compare defect categories and location strategies, finding that major defect categories differ between COBOL and modern systems, with the most challenging defects in COBOL also being the most frequent, while location strategies are similar.
Mainframe systems are facing a critical shortage of developer workforce as the current generation of COBOL developers retires. Furthermore, due to the limited availability of public COBOL resources, entry-level developers, who assume the mantle of legacy COBOL systems maintainers, face significant difficulties during routine maintenance tasks, such as code comprehension and defect location. While we made substantial advances in the field of software maintenance for modern programming languages yearly, mainframe maintenance has received limited attention. With this study, we aim to direct the attention of researchers and practitioners towards investigating and addressing challenges associated with mainframe development. Specifically, we explore the scope of defects affecting COBOL systems and defect location strategies commonly followed by COBOL developers and compare them with the modern programming language counterparts. To this end, we surveyed 30 COBOL and 74 modern Programming Language (PL) developers to understand the differences in defects and defect location strategies employed by the two groups. Our preliminary results show that: (1) major defect categories affecting the COBOL ecosystem are different than defects encountered in modern PL software projects; (2) the most challenging defect types in COBOL are also the ones that occur most frequently; and (3) COBOL and modern PL developers follow similar strategies to locate defective code.