The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - March/April (2010 vol.36)
pp: 150-161
Hina B. Shah , Georgia Institute of Technology, Atlanta
Carsten Görg , Georgia Institute of Technology, Atlanta
Mary Jean Harrold , Georgia Institute of Technology, Atlanta
ABSTRACT
Several recent studies indicate that many industrial applications exhibit poor quality in the design of exception-handling. To improve the quality of error-handling, we need to understand the problems and obstacles that developers face when designing and implementing exception-handling. In this paper, we present our research on understanding the viewpoint of developers—novices and experts—toward exception-handling. First, we conducted a study with novice developers in industry. The study results reveal that novices tend to ignore exceptions because of the complex nature of exception-handling. Then, we conducted a second study with experts in industry to understand their perspective on exception-handling. The study results show that, for experts, exception-handling is a crucial part in the development process. Experts also confirm the novices' approach of ignoring exception-handling and provide insights as to why novices do so. After analyzing the study data, we identified factors that influence experts' strategy selection process for handling exceptions and then built a model that represents a strategy selection process experts use to handle exceptions. Our model is based on interacting modules and fault scope. We conclude with some recommendations to help novices improve their understanding of exception-handling.
INDEX TERMS
Exception handling, user study, software developers.
CITATION
Hina B. Shah, Carsten Görg, Mary Jean Harrold, "Understanding Exception Handling: Viewpoints of Novices and Experts", IEEE Transactions on Software Engineering, vol.36, no. 2, pp. 150-161, March/April 2010, doi:10.1109/TSE.2010.7
REFERENCES
[1] R. de Lemos and A.B. Romanovsky, "Exception Handling in the Software Lifecycle," Int'l J. Computer Systems Science and Eng., vol. 16, no. 2, pp. 119-133, 2001.
[2] M. Lippert and C.V. Lopes, "A Study on Exception Detection and Handling Using Aspect-Oriented Programming," Proc. 22nd Int'l Conf. Software Eng., pp. 418-427, 2000.
[3] F.C. Filho, N. Cacho, E. Figueiredo, R. Maranhão, A. Garcia, and C.M.F. Rubira, "Exceptions and Aspects: The Devil Is in the Details," Proc. 14th ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 152-162, 2006.
[4] F.C. Filho, A. Garcia, and C.M.F. Rubira, "Error Handling as an Aspect," Proc. Second Workshop Best Practices in Applying Aspect-Oriented Software Development, pp. 1-6, 2007.
[5] L. Zhang, C. Krintz, and P. Nagpurkar, "Supporting Exception Handling for Futures in Java," Proc. Fifth Int'l Symp. Principles and Practice of Programming in Java, pp. 175-184, 2007.
[6] A.F. Garcia, C.M.F. Rubira, A. Romanovsky, and J. Xu, "A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software," J. Systems and Software, vol. 59, no. 2, pp. 197-222, 2001.
[7] B. Cabral and P. Marques, "Exception Handling: A Field Study in Java and NET," Proc. 21st European Conf. Object-Oriented Programming, pp. 151-175, 2007.
[8] R. Coelho, A. Rashid, A. Garcia, F. Ferrari, N. Cacho, U. Kulesza, A. Staa, and C. Lucena, "Assessing the Impact of Aspects on Exception Flows: An Exploratory Study," Proc. 22nd European Conf. Object-Oriented Programming, pp. 207-234, 2008.
[9] H. Shah, C. Görg, and M.J. Harrold, "Visualization of Exception Handling Constructs to Support Program Understanding," Proc. Fifth ACM Symp. Software Visualization, pp. 19-28, 2008.
[10] J.B. Goodenough, "Exception Handling: Issues and a Proposed Notation," Comm. ACM, vol. 18, no. 12, pp. 683-696, 1975.
[11] N.H. Gehani, "Exceptional C or C with Exceptions," Software: Practice and Experience, vol. 22, no. 10, pp. 827-848, 1992.
[12] B.G. Ryder and M.L. Soffa, "Influences on the Design of Exception Handling ACM SIGSOFT Project on the Impact of Software Engineering Research on Programming Language Design," SIGSOFT Software Eng. Notes, vol. 28, no. 4, pp. 29-35, 2003.
[13] A. Strauss and J. Corbin, Basics of Qualitative Research, second ed. Sage Publications, 1998.
[14] H. Shah and M.J. Harrold, "Exception Handling Negligence Due to Intra Individual Goal Conflicts," Proc. Int'l Workshop Cooperative and Human Aspects of Software Eng., pp. 80-83, 2009.
[15] R.J. Wirfs-Brock, "Toward Exception-Handling Best Practices and Patterns," IEEE Software, vol. 23, no. 5, pp. 11-13, Sept./Oct. 2006.
6 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool