Please use this identifier to cite or link to this item: https://repositorio.ufrn.br/handle/123456789/25490
Title: ECSFlow: implementação de um modelo de tratamento de exceção para C#
Other Titles: ECSFlow: an exception handler model implementation for C#
Authors: Pranto Filho, Frederico Nunes do
Keywords: Tratamento de exceções;Mecanismo de tratamento de exceção;Robustez;Manutenibilidade;Modularidade
Issue Date: 12-Dec-2016
Citation: PRANTO FILHO, Frederico Nunes do. ECSFlow: implementação de um modelo de tratamento de exceção para C#. 2016. 100f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2016.
Portuguese Abstract: As linguagens de programação convencionais, tais como C#, Ruby, Python e outras, fornecem mecanismos internos de tratamento de exceções a m de prover uma implementação de tratamento de exceções robusta e manutenível em sistemas de software. Essas linguagens suportam o que chamamos de mecanismos de tratamento de exceções dirigidos à manutenção, visto que elas reduzem as restrições de programação no tratamento de exceção buscando agilizar as mudanças no código fonte durante a evolução do software. No entanto, muitos dos problemas que resultam do tratamento de exceção são causados pela forma local na qual as exceções são tratadas. Desta forma, os desenvolvedores devem compreender a origem da exceção, o local onde a exceção será tratada e todo o uxo de controle excepcional entre esses dois pontos. Consequentemente, à medida que o desenvolvimento do software evolui, este uxo torna-se cada vez menos conhecido, prejudicando a manutenção e robustez do sistema. Este trabalho apresenta nova implementação do modelo de tratamento de exceção, chamado ECSFlow, para a linguagem C#, baseada no modelo EFlow. Diferentemente de outros mecanismos de tratamento de exceção, este modelo provê abstrações para descrever o controle do uxo excepcional a partir de uma visão global, permitindo entender o uxo excepcional de uma perspectiva m-a- m, observando somente uma parte do código. Além disso, o modelo permite associar o código excepcional ao código normal de forma mais exível. A implementação proposta foi avaliada qualitativamente e quantitativamente através de um estudo de caso de uma aplicação real.
Abstract: Mainstream programming languages, such as C#, Ruby, Python and many others, provide built-in exception handling mechanisms to support robust and maintainable implementation of exception handling in software systems. These languages support what we call maintenance-driven exception handling mechanisms, since they reduce the programming restrictions in exception handling toward an more agile source code maintenance in software evolution. However, many of the problems that stem from the use of exception handling are caused by the local way in which exceptions are handled. It demands that developers understand the source of an exception, the place where it is handled, and everything in between. As a consequence, as system development progresses, exceptional control ows become less well-understood, with potentially negative consequences for the program maintainability and reliability. This paper presents an new exception handling model implementation for C# languagem called ECSFlow, based on the EFlow model. In contrast to other exception handling mechanisms, our model provides abstractions to explicitly describe global views of exceptional control ows, making possible to understand exception ows from an end-to-end perspective by looking at a single part of the program. Also, it leverages to make the association of exception code with normal code more exible. We evaluate qualitatively and quantitatively the proposed implementation through a case study targeting a real application.
URI: https://repositorio.ufrn.br/jspui/handle/123456789/25490
Appears in Collections:PPGSC - Mestrado em Sistemas e Computação

Files in This Item:
File Description SizeFormat 
FredericoNunesDoPrantoFilho_DISSERT.pdf1.8 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.