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...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on software engineering 2010-03, Vol.36 (2), p.150-161 |
---|---|
Hauptverfasser: | , , |
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 & 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 & Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & 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 & 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 & 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 & Aerospace Database</collection><collection>ProQuest Advanced Technologies & 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 & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology & 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 |