Publication | Closed Access
Fault localization and repair for Java runtime exceptions
55
Citations
18
References
2009
Year
Unknown Venue
Software MaintenanceEngineeringSoftware EngineeringSoftware AnalysisFormal VerificationSymbolic ExecutionJava ProgramsReliability EngineeringFault AnalysisRuntime ExceptionsFault RecoveryStatic CheckingRuntime ExceptionJava Runtime ExceptionsStatic AnalysisComputer ScienceDebuggerStatic Program AnalysisProgram AnalysisSoftware TestingFormal MethodsFault Injection
This paper presents a new approach for locating and repairing faults that cause runtime exceptions in Java programs. The approach handles runtime exceptions that involve a flow of an incorrect value that finally leads to the exception. This important class of exceptions includes exceptions related to dereferences of null pointers, arithmetic faults (e.g., ArithmeticException), and type faults (e.g., ArrayStoreException). Given a statement at which such an exception occurred, the technique combines dynamic analysis (using stack-trace information) with static backward data-flow analysis (beginning at the point where the runtime exception occurred) to identify the source statement at which an incorrect assignment was made; this information is required to locate the fault. The approach also identifies the source statements that may cause this same exception on other executions, along with the reference statements that may raise an exception in other executions because of this incorrect assignment; this information is required to repair the fault. The paper also presents an application of our technique to null pointer exceptions. Finally, the paper describes an implementation of the null-pointer-exception analysis and a set of studies that demonstrate the advantages of our approach for locating and repairing faults in the program.
| Year | Citations | |
|---|---|---|
Page 1
Page 1