Oct 31, 2017: Maria Kechagia: Using Type Checking to Guard Risky APIs from Runtime Exceptions

October 31, 2017Using Type Checking to Guard Risky APIs from Runtime Exceptions
Room: Hal B 2BMaria Kechagia
12:30-13:30

We propose to configure at compile time the checking associated with Application Programming Interfaces' methods that can receive possibly malformed values (e.g. erroneous user inputs and problematic retrieved records from databases) and thus cause application execution failures. To achieve this, we design a type system that guarantees that methods receiving potentially erroneous input catch the corresponding exceptions. Our system also identifies redundant exception handling when methods receive input that its correctness can be verified at compile time. We believe that our technique can improve Java developers' productivity, by using exception handling only when it is required, and ensure client applications' stability. For the evaluation of our system, we have checked open source Java projects using our approach.