{"id":{"repo_id":"brazil-ufrn","oai_identifier":"oai:repositorio.ufrn.br:123456789/30645"},"canonical_url":"https://search.dev.ndltd.org/etd/brazil-ufrn/oai:repositorio.ufrn.br:123456789/30645","repository":{"repo_id":"brazil-ufrn","name":"Brazil UFRN","base_url":"https://repositorio.ufrn.br/server/oai/request"},"display":{"title":"Identifying and analyzing Java exception handling guidelines: a developers point-of-view","abstract":"The exception handling mechanism is a feature present in most modern programming languages which helps the development of fault tolerant systems. Despite being an old feature of the Java language, developers still struggle to use exception handling for even the most basic problems. Although the exception handling of a system is essentially a design problem, few works are intended to investigate Java exception handling from the developers’ point of view. In this thesis we explore the decisions made and solutions adopted by Java developers for exception handling in their projects. In total we conducted 6 studies, which consulted a total of 423 developers, including interviews and surveys, and analyzed the source code of 240 Java projects hosted on GitHub. Our results show that decisions regarding Java exception handling are not usually documented, and sometimes not even discussed verbally among the development team; that developers believe their code follows the adopted solutions; that developers learn about exception handling solutions through informal meetings and code inspection; that the adopted solutions in the project are verified in the source code through code review. We analyzed Java source code from 240 projects to verify compliance of 6 of the 31 Java exception handling solutions we identified, and found that the code often fails to deliver what was planned. Our research reveals a weakness in the design, implementation, and verification of Java exception handling that will help researchers and the community to design tools and other solutions that help developers to apply exception handling effectively.","abstract_html":"The exception handling mechanism is a feature present in most modern programming languages which helps the development of fault tolerant systems. Despite being an old feature of the Java language, developers still struggle to use exception handling for even the most basic problems. Although the exception handling of a system is essentially a design problem, few works are intended to investigate Java exception handling from the developers’ point of view. In this thesis we explore the decisions made and solutions adopted by Java developers for exception handling in their projects. In total we conducted 6 studies, which consulted a total of 423 developers, including interviews and surveys, and analyzed the source code of 240 Java projects hosted on GitHub. Our results show that decisions regarding Java exception handling are not usually documented, and sometimes not even discussed verbally among the development team; that developers believe their code follows the adopted solutions; that developers learn about exception handling solutions through informal meetings and code inspection; that the adopted solutions in the project are verified in the source code through code review. We analyzed Java source code from 240 projects to verify compliance of 6 of the 31 Java exception handling solutions we identified, and found that the code often fails to deliver what was planned. Our research reveals a weakness in the design, implementation, and verification of Java exception handling that will help researchers and the community to design tools and other solutions that help developers to apply exception handling effectively.","abstract_has_math":false,"creators":["Melo, Hugo Faria"],"institution":"Universidade Federal do Rio Grande do Norte","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Coelho, Roberta de Souza"],"committee_chairs":[],"committee_members":[],"year":2019,"date_issued":"2019-11-29","date_published":"2019-11-29","updated_at":"2026-07-24T01:20:46Z","subjects":["Tratamento de exceções; Linguagem Java; Estudo qualitativo.","Java Exception Handling","Exception Handling Design","Qualitative study"],"languages":["pt_BR"],"rights":["Acesso Aberto"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://repositorio.ufrn.br/handle/123456789/30645","outbound_label":"Repository record","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Coelho, Roberta de Souza"]},{"key":"dc:creator","label":"Author","values":["Melo, Hugo Faria"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2020-11-24T12:49:22Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2020-11-24T12:49:22Z"]},{"key":"dc:date.issued","label":"Date","values":["2019-11-29"]},{"key":"dc:publisher","label":"Institution","values":["Universidade Federal do Rio Grande do Norte"]},{"key":"dc:type","label":"Dc Type","values":["doctoralThesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Tratamento de exceções; Linguagem Java; Estudo qualitativo.","Java Exception Handling","Exception Handling Design","Qualitative study"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["pt_BR"]},{"key":"dc:rights","label":"Dc Rights","values":["Acesso Aberto"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://repositorio.ufrn.br/handle/123456789/30645"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["The exception handling mechanism is a feature present in most modern programming languages which helps the development of fault tolerant systems. Despite being an old feature of the Java language, developers still struggle to use exception handling for even the most basic problems. Although the exception handling of a system is essentially a design problem, few works are intended to investigate Java exception handling from the developers’ point of view. In this thesis we explore the decisions made and solutions adopted by Java developers for exception handling in their projects. In total we conducted 6 studies, which consulted a total of 423 developers, including interviews and surveys, and analyzed the source code of 240 Java projects hosted on GitHub. Our results show that decisions regarding Java exception handling are not usually documented, and sometimes not even discussed verbally among the development team; that developers believe their code follows the adopted solutions; that developers learn about exception handling solutions through informal meetings and code inspection; that the adopted solutions in the project are verified in the source code through code review. We analyzed Java source code from 240 projects to verify compliance of 6 of the 31 Java exception handling solutions we identified, and found that the code often fails to deliver what was planned. Our research reveals a weakness in the design, implementation, and verification of Java exception handling that will help researchers and the community to design tools and other solutions that help developers to apply exception handling effectively."]},{"key":"dc:title","label":"Title","values":["Identifying and analyzing Java exception handling guidelines: a developers point-of-view"]}]}],"canonical_facts":{"dc:contributor.advisor":["Coelho, Roberta de Souza"],"dc:creator":["Melo, Hugo Faria"],"dc:date.accessioned":["2020-11-24T12:49:22Z"],"dc:date.available":["2020-11-24T12:49:22Z"],"dc:date.issued":["2019-11-29"],"dc:description.abstract":["The exception handling mechanism is a feature present in most modern programming languages which helps the development of fault tolerant systems. Despite being an old feature of the Java language, developers still struggle to use exception handling for even the most basic problems. Although the exception handling of a system is essentially a design problem, few works are intended to investigate Java exception handling from the developers’ point of view. In this thesis we explore the decisions made and solutions adopted by Java developers for exception handling in their projects. In total we conducted 6 studies, which consulted a total of 423 developers, including interviews and surveys, and analyzed the source code of 240 Java projects hosted on GitHub. Our results show that decisions regarding Java exception handling are not usually documented, and sometimes not even discussed verbally among the development team; that developers believe their code follows the adopted solutions; that developers learn about exception handling solutions through informal meetings and code inspection; that the adopted solutions in the project are verified in the source code through code review. We analyzed Java source code from 240 projects to verify compliance of 6 of the 31 Java exception handling solutions we identified, and found that the code often fails to deliver what was planned. Our research reveals a weakness in the design, implementation, and verification of Java exception handling that will help researchers and the community to design tools and other solutions that help developers to apply exception handling effectively."],"dc:identifier.uri":["https://repositorio.ufrn.br/handle/123456789/30645"],"dc:language":["pt_BR"],"dc:publisher":["Universidade Federal do Rio Grande do Norte"],"dc:rights":["Acesso Aberto"],"dc:subject":["Tratamento de exceções; Linguagem Java; Estudo qualitativo.","Java Exception Handling","Exception Handling Design","Qualitative study"],"dc:title":["Identifying and analyzing Java exception handling guidelines: a developers point-of-view"],"dc:type":["doctoralThesis"]},"updated_at":"2026-07-24T01:20:46Z"}