Automatic interference of exception specification
Original Publication Date: 2011-Feb-28
Included in the Prior Art Database: 2011-Feb-28
Related PeopleOther Related People:
In almost all modern programming languages, exception handling is provided as a programming abstraction for developing robust and reliable software. Some languages provide programming constructs to specify exception specification. For example, the programming language Java allows for writing exception specification in the method signature. To use exception specifications can help writing correct exception handlers and understanding the exception control flow. However, the use of exception specification can lead to issues such as version management, productivity and code quality or the difficulty of determining the correct exceptions for interfaces. Up to now, there are few techniques and tools which provide integrated support for specifying, understanding and evolving exception specifications. One example is a lightweight exception specification system that provides integrated support for specifying, understanding, and evolving exception policies. The exception specifications are computed based on which exception a method can throw as well as all the other used methods and their thrown exceptions. However, the currently used technique can only be applied to Java programs. Furthermore, contextual information of the source code is not taken into account. Another disadvantage of current techniques, languages or tools is that it is only specified which exceptions a method can throw, but not which exceptions a method cannot throw.