CISUC

Unchecked Exceptions: Can the Programmer be Trusted to Document Exceptions?

Authors

Abstract

The emergence of exception handling mechanisms in modern programming languages made available a different way of communicating errors between procedures. For years, programmers trusted in the correct documentation for error codes returned by procedures to correctly handle erroneous situations. Now, they have to focus on the documentation of exceptions for the same effect. But to which extent can exception documentation be trusted? Moreover, is there enough documentation for exceptions? And in which way do these questions relate to the checked vs. unchecked exceptions discussion? For a given set of Microsoft .NET applications, code and documentation were thoroughly parsed and compared. This showed that exception documentation tends to be scarce and of poor quality when existent. In particular, it showed that 90% of exceptions are undocumented. Furthermore, programmers were demonstrated to be keener to document exceptions they explicitly throw while typically leaving exceptions resulting from method calls undocumented. These results are a contribution to the assessment of the effectiveness of the unchecked exceptions approach.

Subject

Exception handling mechanisms

Conference

International Conference on Innovative Views of .NET Technologies, October 2006


Cited by

Year 2012 : 1 citations

 Cindy Rubio González, Finding Error-Propagation Bugs In Large Software Systems Using Static Analysis, Ph.D. Thesis, University Of Wisconsin–Madison, USA, 2012.

Year 2011 : 1 citations

 I. Garcia, and N. Cacho, eFlowMining: An Exception-Flow Analysis Tool for .NET Applications, Fifth Latin-American Symposium on Dependable Computing Workshops, IEEE, 2011.

Year 2010 : 1 citations

 C. Rubio-Gonzalez and B. Liblit, Expect the unexpected: error code mismatches between documentation and the real world, In Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE '10). ACM, New York, NY, USA, 73-80, 2010.

Year 2009 : 3 citations

 C. Rubio-Gonzalez, H. S. Gunawi, B. Liblit, R. H. Arpaci-Dusseau, and A. C. Arpaci-Dusseau, Error propagation analysis for file systems, In Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation (PLDI '09). ACM, New York, NY, USA, 270-280, 2009.

 A. Romanovsky, A Looming Fault Tolerance Software Crisis?, Chapter 2.4., in RTO-MP-IST-064 - Building Robust Systems with Fallible Construction, Report of the IST-064/RWS-011 Workshop held in Prague, Czech Republic, 9-10 November 2006, NATO Research and Technology Organisation, ISBN 978-92-837-0081-4, May 2009.

 C. Dony, SaGE, an Exception Handling System for Message-Oriented Programming, Chapter 3.2, in RTO-MP-IST-064 - Building Robust Systems with Fallible Construction, Report of the IST-064/RWS-011 Workshop held in Prague, Czech Republic, 9-10 November 2006, NATO Research and Technology Organisation, ISBN 978-92-837-0081-4, May 2009.

Year 2008 : 2 citations

 R. Coelho, U. Kulesza, A. Rashid, A. von Staa, C. Lucena, "Unveiling and Taming the Liabilities of Aspect Libraries Reuse", in Simpósio Brasileiro de Engenharia de Software (SBES), Brasil, Outubro 2008.

 H. S. Gunawi, C. Rubio-Gonzalez, A. C. Arpaci-Dusseau, Re. H. Arpaci-Dusseau, B. Liblit, "EIO: Error Handling is Occasionally Correct", in Proc. of the 6th USENIX Conference on File and Storage Technologies (FAST "08), San José, California, USA, February 2008.

Year 2007 : 1 citations

 A. Romanovsky; "A Looming Fault Tolerance Software Crisis?"; ACM SIGSOFT Software Engineering Notes, Volume 32, Issue 2, pp 27, ACM Press, 2007

Year 2006 : 1 citations

 A. Romanovsky, "A Looming Fault Tolerance Software Crisis?", Technical Report CS-TR-991, University of Newcastle upon Tyne, November 2006