Understanding Exception Handling: Viewpoints of Novices and Experts

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 pape...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on software engineering 2010-03, Vol.36 (2), p.150-161
Hauptverfasser: Shah, H.B., Gorg, C., Harrold, M.J.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 161
container_issue 2
container_start_page 150
container_title IEEE transactions on software engineering
container_volume 36
creator Shah, H.B.
Gorg, C.
Harrold, M.J.
description 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.
doi_str_mv 10.1109/TSE.2010.7
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_miscellaneous_1671248657</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>5383375</ieee_id><sourcerecordid>1994722111</sourcerecordid><originalsourceid>FETCH-LOGICAL-c343t-9a11ad36f82edff89f8d9bf1b1defd1a3141530bafb751234430dc2050e746ab3</originalsourceid><addsrcrecordid>eNp90M9LwzAUB_AgCs7pxauX4kUROvOapkm8yZhOGHpw8xrSJpGMrqlN54__3pSJBw-eHu-9Dw_eF6FTwBMALK6Xz7NJhmPH9tAIBBEpoRneRyOMBU8p5eIQHYWwxhhTxugITVeNNl3oVaNd85rMPivT9s43yTxO6ji6SV6c-Wi9a_qQeJs8-ndXmZDEddSt6fpwjA6sqoM5-aljtLqbLafzdPF0_zC9XaQVyUmfCgWgNCksz4y2lgvLtSgtlKCN1aAI5EAJLpUtGYWM5DnBusowxYblhSrJGF3s7radf9ua0MuNC5Wpa9UYvw1SZAXBwBiP8vJfCQWDLOcFZZGe_6Frv-2a-IcEEQPDRT6gqx2qOh9CZ6xsO7dR3ZcELIfgZQxeDsHLAZ_tsDPG_EJKOCGMkm9Ekn1f</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>195580647</pqid></control><display><type>article</type><title>Understanding Exception Handling: Viewpoints of Novices and Experts</title><source>IEEE Electronic Library (IEL)</source><creator>Shah, H.B. ; Gorg, C. ; Harrold, M.J.</creator><creatorcontrib>Shah, H.B. ; Gorg, C. ; Harrold, M.J.</creatorcontrib><description>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.</description><identifier>ISSN: 0098-5589</identifier><identifier>EISSN: 1939-3520</identifier><identifier>DOI: 10.1109/TSE.2010.7</identifier><identifier>CODEN: IESEDJ</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Application software ; Data analysis ; Debugging ; Developers ; Digital Object Identifier ; Exception handling ; Faults ; Functional programming ; Handles ; Interviews ; Java ; Materials handling ; Mathematical models ; Performance evaluation ; Programming profession ; Software ; software developers ; Software development ; Software engineering ; Software performance ; Software tools ; Strategy ; Studies ; user study ; Visualization</subject><ispartof>IEEE transactions on software engineering, 2010-03, Vol.36 (2), p.150-161</ispartof><rights>Copyright IEEE Computer Society Mar 2010</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c343t-9a11ad36f82edff89f8d9bf1b1defd1a3141530bafb751234430dc2050e746ab3</citedby><cites>FETCH-LOGICAL-c343t-9a11ad36f82edff89f8d9bf1b1defd1a3141530bafb751234430dc2050e746ab3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/5383375$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27923,27924,54757</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/5383375$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Shah, H.B.</creatorcontrib><creatorcontrib>Gorg, C.</creatorcontrib><creatorcontrib>Harrold, M.J.</creatorcontrib><title>Understanding Exception Handling: Viewpoints of Novices and Experts</title><title>IEEE transactions on software engineering</title><addtitle>TSE</addtitle><description>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.</description><subject>Application software</subject><subject>Data analysis</subject><subject>Debugging</subject><subject>Developers</subject><subject>Digital Object Identifier</subject><subject>Exception handling</subject><subject>Faults</subject><subject>Functional programming</subject><subject>Handles</subject><subject>Interviews</subject><subject>Java</subject><subject>Materials handling</subject><subject>Mathematical models</subject><subject>Performance evaluation</subject><subject>Programming profession</subject><subject>Software</subject><subject>software developers</subject><subject>Software development</subject><subject>Software engineering</subject><subject>Software performance</subject><subject>Software tools</subject><subject>Strategy</subject><subject>Studies</subject><subject>user study</subject><subject>Visualization</subject><issn>0098-5589</issn><issn>1939-3520</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2010</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><sourceid>8G5</sourceid><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><sourceid>GUQSH</sourceid><sourceid>M2O</sourceid><recordid>eNp90M9LwzAUB_AgCs7pxauX4kUROvOapkm8yZhOGHpw8xrSJpGMrqlN54__3pSJBw-eHu-9Dw_eF6FTwBMALK6Xz7NJhmPH9tAIBBEpoRneRyOMBU8p5eIQHYWwxhhTxugITVeNNl3oVaNd85rMPivT9s43yTxO6ji6SV6c-Wi9a_qQeJs8-ndXmZDEddSt6fpwjA6sqoM5-aljtLqbLafzdPF0_zC9XaQVyUmfCgWgNCksz4y2lgvLtSgtlKCN1aAI5EAJLpUtGYWM5DnBusowxYblhSrJGF3s7radf9ua0MuNC5Wpa9UYvw1SZAXBwBiP8vJfCQWDLOcFZZGe_6Frv-2a-IcEEQPDRT6gqx2qOh9CZ6xsO7dR3ZcELIfgZQxeDsHLAZ_tsDPG_EJKOCGMkm9Ekn1f</recordid><startdate>20100301</startdate><enddate>20100301</enddate><creator>Shah, H.B.</creator><creator>Gorg, C.</creator><creator>Harrold, M.J.</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7WY</scope><scope>7WZ</scope><scope>7X7</scope><scope>7XB</scope><scope>87Z</scope><scope>88E</scope><scope>88F</scope><scope>88I</scope><scope>88K</scope><scope>8AL</scope><scope>8FE</scope><scope>8FG</scope><scope>8FI</scope><scope>8FJ</scope><scope>8FK</scope><scope>8FL</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BEZIV</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>FRNLG</scope><scope>FYUFA</scope><scope>F~G</scope><scope>GHDGH</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K60</scope><scope>K6~</scope><scope>K7-</scope><scope>K9.</scope><scope>L.-</scope><scope>L6V</scope><scope>M0C</scope><scope>M0N</scope><scope>M0S</scope><scope>M1P</scope><scope>M1Q</scope><scope>M2O</scope><scope>M2P</scope><scope>M2T</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PQBIZ</scope><scope>PQBZA</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20100301</creationdate><title>Understanding Exception Handling: Viewpoints of Novices and Experts</title><author>Shah, H.B. ; Gorg, C. ; Harrold, M.J.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c343t-9a11ad36f82edff89f8d9bf1b1defd1a3141530bafb751234430dc2050e746ab3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2010</creationdate><topic>Application software</topic><topic>Data analysis</topic><topic>Debugging</topic><topic>Developers</topic><topic>Digital Object Identifier</topic><topic>Exception handling</topic><topic>Faults</topic><topic>Functional programming</topic><topic>Handles</topic><topic>Interviews</topic><topic>Java</topic><topic>Materials handling</topic><topic>Mathematical models</topic><topic>Performance evaluation</topic><topic>Programming profession</topic><topic>Software</topic><topic>software developers</topic><topic>Software development</topic><topic>Software engineering</topic><topic>Software performance</topic><topic>Software tools</topic><topic>Strategy</topic><topic>Studies</topic><topic>user study</topic><topic>Visualization</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Shah, H.B.</creatorcontrib><creatorcontrib>Gorg, C.</creatorcontrib><creatorcontrib>Harrold, M.J.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>ABI/INFORM Collection</collection><collection>ABI/INFORM Global (PDF only)</collection><collection>Health &amp; Medical Collection</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>ABI/INFORM Global (Alumni Edition)</collection><collection>Medical Database (Alumni Edition)</collection><collection>Military Database (Alumni Edition)</collection><collection>Science Database (Alumni Edition)</collection><collection>Telecommunications (Alumni Edition)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Hospital Premium Collection</collection><collection>Hospital Premium Collection (Alumni Edition)</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ABI/INFORM Collection (Alumni Edition)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Business Premium Collection</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>Business Premium Collection (Alumni)</collection><collection>Health Research Premium Collection</collection><collection>ABI/INFORM Global (Corporate)</collection><collection>Health Research Premium Collection (Alumni)</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Business Collection (Alumni Edition)</collection><collection>ProQuest Business Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Health &amp; Medical Complete (Alumni)</collection><collection>ABI/INFORM Professional Advanced</collection><collection>ProQuest Engineering Collection</collection><collection>ABI/INFORM Global</collection><collection>Computing Database</collection><collection>Health &amp; Medical Collection (Alumni Edition)</collection><collection>Medical Database</collection><collection>Military Database</collection><collection>Research Library</collection><collection>Science Database</collection><collection>Telecommunications Database</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Business</collection><collection>ProQuest One Business (Alumni)</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>ProQuest Central Basic</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>IEEE transactions on software engineering</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Shah, H.B.</au><au>Gorg, C.</au><au>Harrold, M.J.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Understanding Exception Handling: Viewpoints of Novices and Experts</atitle><jtitle>IEEE transactions on software engineering</jtitle><stitle>TSE</stitle><date>2010-03-01</date><risdate>2010</risdate><volume>36</volume><issue>2</issue><spage>150</spage><epage>161</epage><pages>150-161</pages><issn>0098-5589</issn><eissn>1939-3520</eissn><coden>IESEDJ</coden><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.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TSE.2010.7</doi><tpages>12</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0098-5589
ispartof IEEE transactions on software engineering, 2010-03, Vol.36 (2), p.150-161
issn 0098-5589
1939-3520
language eng
recordid cdi_proquest_miscellaneous_1671248657
source IEEE Electronic Library (IEL)
subjects Application software
Data analysis
Debugging
Developers
Digital Object Identifier
Exception handling
Faults
Functional programming
Handles
Interviews
Java
Materials handling
Mathematical models
Performance evaluation
Programming profession
Software
software developers
Software development
Software engineering
Software performance
Software tools
Strategy
Studies
user study
Visualization
title Understanding Exception Handling: Viewpoints of Novices and Experts
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-11T05%3A15%3A21IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Understanding%20Exception%20Handling:%20Viewpoints%20of%20Novices%20and%20Experts&rft.jtitle=IEEE%20transactions%20on%20software%20engineering&rft.au=Shah,%20H.B.&rft.date=2010-03-01&rft.volume=36&rft.issue=2&rft.spage=150&rft.epage=161&rft.pages=150-161&rft.issn=0098-5589&rft.eissn=1939-3520&rft.coden=IESEDJ&rft_id=info:doi/10.1109/TSE.2010.7&rft_dat=%3Cproquest_RIE%3E1994722111%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=195580647&rft_id=info:pmid/&rft_ieee_id=5383375&rfr_iscdi=true