ABSTRACT
Exception handling is an advanced programming technique to prevent run-time errors or crashes for modern software systems. However, inexperienced programmers might fail to write proper exception handling code in their programs. In this paper, we introduce ExAssist, a code recommendation tool for exception handling. Ex-Assist can predict what types of exception could occur in a given piece of code and recommend proper exception handling code for such an exception. Preliminary evaluation of ExAssist suggests that it provides highly accurate recommendations.
- R. Coelho, L. Almeida, G. Gousios, and A. v. Deursen. 2015. Unveiling Exception Handling Bug Hazards in Android Based on GitHub and Google Code. In MSR. Google ScholarDigital Library
- A. Nguyen, H. Nguyen, T. Nguyen, and T. Nguyen. 2012. GraPacc: A Graph-based Pattern-oriented, Context-sensitive Code Completion Tool. In ICSE '12. Google ScholarDigital Library
- T. Nguyen, H. Pham, P. Vu, and T. Nguyen. 2015. Recommending API Usages for Mobile Apps with Hidden Markov Model. In ASE.Google Scholar
- S. Thummalapenta and T. Xie. 2009. Mining Exception-handling Rules As Sequence Association Rules. In ICSE. Google ScholarDigital Library
- W. Weimer and G. Necula. 2005. Mining Temporal Specifications for Error Detection. In TACAS. Google ScholarDigital Library
Recommendations
Code recommendation for exception handling
ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringException handling is an effective mechanism to avoid unexpected runtime errors. However, novice programmers might fail to handle exceptions properly, causing serious errors like system crashing or resource leaking. In this paper, we introduce ...
Efficient Java exception handling in just-in-time compilation
Research ArticlesJava uses exceptions to provide elegant error handling capabilities during program execution. However, the presence of exception handlers complicates the job of the just-in-time (JIT) compiler, while exceptions are rarely used in most programs. This ...
A catalogue of bug patterns for exception handling in aspect-oriented programs
PLoP '08: Proceedings of the 15th Conference on Pattern Languages of ProgramsAspects allow a developer to externally add new functionality to a program. This additional functionality may also throw new exceptions that will flow through the program execution until they are handled. Moreover, aspects can also be used to handle ...
Comments