Skip navigation

Automatic repair of timestamp comparisons

Automatic repair of timestamp comparisons

Giovanni, Liva, Khan, Muhammad Taimoor ORCID: 0000-0002-5752-6420, Pinzger, Martin, Spegni, Francesco and Spalazzi, Luca (2019) Automatic repair of timestamp comparisons. IEEE Transactions on Software Engineering, 47 (11). pp. 2369-2381. ISSN 0098-5589 (doi:https://doi.org/10.1109/TSE.2019.2948351)

[img]
Preview
PDF (Author Accepted Manuscript)
24433 KHAN_Automatic_Repair_Of_Timestamp_Comparisons_(AAM)_2019.pdf - Accepted Version

Download (10MB) | Preview

Abstract

Automated program repair has the potential to reduce the developers’ effort to fix errors in their code. In particular, modern programming languages, such as Java, C, and C#, represent time as integer variables that suffer from integer overflow, introducing subtle errors that are hard to discover and repair. Recent researches on automated program repair rely on test cases to discover failures to correct, making them suitable only for regression errors. We propose a new strategy to automatically repair programs that suffer from timestamp overflows that are manifested in comparison expressions. It unifies the benefits of static analysis and automatic program repair avoiding to depend on testing to identify and correct defected code. Our approach performs an abstract analysis over the time domain of a program using a Time Type System to identify the problematic comparison expressions. The repairing strategy rewrites the timestamp comparisons exploiting the binary representation of machine numbers to correct the code. We have validated the applicability of our approach with 20 open source Java projects. The results show that it is able to correctly repair all 246 identified errors. Furthermore, several patches for three open source projects have been acknowledged and accepted by their developers.

Item Type: Article
Uncontrolled Keywords: software/program verification, formal methods, error handling and recovery
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Faculty / School / Research Centre / Research Group: Faculty of Engineering & Science > Internet of Things and Security Research Centre (ISEC)
Faculty of Engineering & Science > School of Computing & Mathematical Sciences (CMS)
Faculty of Engineering & Science
Last Modified: 04 Mar 2022 13:06
URI: http://gala.gre.ac.uk/id/eprint/24433

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year

View more statistics