• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 5
  • 1
  • Tagged with
  • 6
  • 6
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção / ArCatch: a solution for static check of architectural conformity of exception handling

Meneses Filho, Juarez de Lima January 2016 (has links)
MENESES FILHO, Juarez de Lima. ArCatch: uma solução para verificação estática de conformidade arquitetural do tratamento de exceção. 2016. 81 f. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal do Ceará, Fortaleza, 2016. / Submitted by Jonatas Martins (jonatasmartins@lia.ufc.br) on 2017-08-16T18:55:49Z No. of bitstreams: 1 2016_dis_jlmenesesfilho.pdf: 1440689 bytes, checksum: b5d68cda9ed0ed25ac65cb0ac5aacb9a (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2017-08-17T11:14:12Z (GMT) No. of bitstreams: 1 2016_dis_jlmenesesfilho.pdf: 1440689 bytes, checksum: b5d68cda9ed0ed25ac65cb0ac5aacb9a (MD5) / Made available in DSpace on 2017-08-17T11:14:12Z (GMT). No. of bitstreams: 1 2016_dis_jlmenesesfilho.pdf: 1440689 bytes, checksum: b5d68cda9ed0ed25ac65cb0ac5aacb9a (MD5) Previous issue date: 2016 / Exception handling is a common error recovery technique employed to improve software robustness. However, studies have reported that exception handling is commonly neglected by developers and is the least understood and documented part of a software project. The lack of documentation and difficulty in understanding the exception handling design can lead developers to violate important design decisions, triggering an erosion process in the exception handling design. Architectural conformance checking provides means to control the architectural erosion by periodically checking if the actual architecture is consistent with the planned one. Nevertheless, available approaches do not provide a proper support for exception handling conformance checking. To fulfill this gap, this work proposes ArCatch: an architectural conformance checking solution to deal with the exception handling design erosion. ArCatch provides: (i) a declarative domain-specific language for expressing design constraints regarding exception handling; and (ii) a design rule checker to automatically verify the exception handling conformance. The usefulness and effectiveness of the approach was evaluated in an evolution scenario composed by 10 versions of an existing web-based Java system. Each version was checked against the same set of exception handling design rules. Based on the results and the feedback given by the system’s software architect, the ArCatch proved useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code. / O tratamento de exceções é uma técnica de recuperação de erros tipicamente empregada na melhoria da robustez de software. No entanto, estudos recentes relatam que o tratamento de exceção é comumente negligenciado pelos desenvolvedores e é a parte menos compreendida e documentada de um projeto de software. A falta de documentação e a difculdade em compreender o design do tratamento de exceção pode levar os desenvolvedores a violarem decisões de design importantes, desencadeando um processo de erosão no design do tratamento de exceção. A verifcação de conformidade arquitetural fornece meios para controlar a erosão arquitetural, verifcando periodicamente se a arquitetura real mantem-se consistente com a arquitetura planejada. No entanto, as abordagens disponíveis não fornecem um suporte adequado para verificação da conformidade do tratamento de exceção. Para preencher essa lacuna, neste trabalho é proposta ArCatch: uma solução de verificação de conformidade arquitetural para lidar com a erosão do design do tratamento de exceção. ArCatch fornece: (i) uma linguagem específica de domínio declarativa para expressar restrições de design relativas ao tratamento de exceção; e (ii) um verificador de regras de design para verificar automaticamente a conformidade do tratamento de exceção. Foi avaliada a utilidade e a eficácia da abordagem proposta em um cenário de evolução composto por 10 versões de um sistema Java web existente. Cada versão foi verificada contra o mesmo conjunto de regras de design de tratamento de exceção. Com base nos resultados e no feedback fornecido pelo arquiteto de software do sistema, a ArCatch provou ser útil e eficaz na identifcação de problemas de erosão do tratamento de exceção existentes e localizar suas causas no código-fonte.
2

ECSFlow: implementação de um modelo de tratamento de exceção para C# / ECSFlow: an exception handler model implementation for C#

Pranto Filho, Frederico Nunes do 12 December 2016 (has links)
Submitted by Automação e Estatística (sst@bczm.ufrn.br) on 2018-07-02T18:48:21Z No. of bitstreams: 1 FredericoNunesDoPrantoFilho_DISSERT.pdf: 1838536 bytes, checksum: 869402048f640b021eff0f26d27f9d3d (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-07-04T13:33:21Z (GMT) No. of bitstreams: 1 FredericoNunesDoPrantoFilho_DISSERT.pdf: 1838536 bytes, checksum: 869402048f640b021eff0f26d27f9d3d (MD5) / Made available in DSpace on 2018-07-04T13:33:21Z (GMT). No. of bitstreams: 1 FredericoNunesDoPrantoFilho_DISSERT.pdf: 1838536 bytes, checksum: 869402048f640b021eff0f26d27f9d3d (MD5) Previous issue date: 2016-12-12 / 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. / 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.
3

CAEHV: um método para verificação de modelos do tratamento de exceção sensível ao contexto em sistemas ubíquos

Rocha, Lincoln Souza January 2013 (has links)
ROCHA, Lincoln Souza. CAEHV: um método para verificação de modelos do tratamento de exceção sensível ao contexto em sistemas ubíquos. 2013. 113 f. Tese (Doutorado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2013. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-20T12:34:03Z No. of bitstreams: 1 2013_tese_lsrocha.pdf: 1533788 bytes, checksum: a51ba242829e63d58d2f966281d49c4a (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-25T11:59:14Z (GMT) No. of bitstreams: 1 2013_tese_lsrocha.pdf: 1533788 bytes, checksum: a51ba242829e63d58d2f966281d49c4a (MD5) / Made available in DSpace on 2016-07-25T11:59:14Z (GMT). No. of bitstreams: 1 2013_tese_lsrocha.pdf: 1533788 bytes, checksum: a51ba242829e63d58d2f966281d49c4a (MD5) Previous issue date: 2013 / The context-aware adaptive software, also known as self-adaptive software, represents a specic class of complex software systems, which has as primary requirement the ability to monitor its execution environment (physical and logical) and reacts upon change, either adapting its internal structure and behavior or performing automatic tasks. In ubiquitous environments, context-aware adaptive software plays a fundamental role, as it must be designed to interact with the physical environment, aiming to transparently supporting users in their daily activities, improving or hiding the interaction between human and computer. In that direction, the application domain in which context-aware adaptive software may be applied is broad (e.g., smart home, mobile visit guide, gaming, health or rescue missions), requiring a high-degree of reliability, not only capable of performing its functional requirements, but also dealing with abnormal conditions, avoiding occasional failures. Although context-aware exception handling has been used to improve robustness and reliability levels of context-aware adaptive software, it requires from the software designers a good understanding of the application domain, turning out to be a complex and error-prone activity. In order to achieve the expected results of using context-aware exception handling, it is mandatory to follow a rigorous design approach, trying to minimize the number of design faults. In this scenario, this doctoral thesis proposes a method for model checking context-aware exception handling, named CAEH!(Context-Aware Exception Handling Verication). It provides a set of abstractions that permits designers to model the context-aware exceptional behavior and translates it to a Kripke structure. Additionally, a set of behavior properties is established, attempting to aid designers to identify specic types of design faults. To evaluate the feasibility of the proposed method, a tool, called JCAEH!, for modeling and verication of context-aware exceptional behavior is developed, and fault injection scenarios are modeled to analyze its eectiveness in identifying design faults. / Os sistemas de software adaptativos sensíveis ao contexto, também conhecidos como auto-adaptativos, representam uma classe particular de sistemas de software complexos. Esse tipo de sistema de software tem como requisito básico observar o ambiente (físico e lógico) em que executa e reagir de forma apropriada às mudanças, quer seja adaptando sua estrutura e comportamento ou executando tarefas de forma automática. Nos ambientes ubíquos, o software adaptativo sensível ao contexto assume um papel fundamental, sendo projetado para interagir com o ambiente físico com intuito de auxiliar as pessoas, de forma transparente, na execução das suas atividades cotidianas, tornando a interação humano-computador mais natural. Devido ao seu amplo domínio de aplicação (e.g., casas inteligentes, guias móveis de visitação, jogos, saúde e missões de resgate), os sistemas de software adaptativo sensível ao contexto precisam ser confiáveis, para cumprir com a sua função e lidar com situações anormais, evitando eventuais falhas. Nesse sentido, o tratamento de exceção sensível ao contexto vem sendo empregado na melhoria dos níveis de robustez e confiabilidade desse tipo de sistema de software. Entretanto, o projeto e implementação do tratamento de exceção sensível ao contexto exige dos projetistas insights e expertise de domínio, sendo uma atividade complexa e propensa a erros. Desse modo, para que o tratamento de exceção sensível ao contexto atinja os objetivos esperados, é necessário que ele seja projetado de forma rigorosa, buscando eliminar ao máximo o número de faltas de projeto (design faults). Nesse cenário, esta tese de doutorado propõe um método para verificação de modelos do tratamento de exceção sensível ao contexto, denominado CAEHV (Context-Aware Exception Handling Verification). O CAEHV provê um conjunto de abstrações que permitem aos projetistas modelarem o comportamento excepcional sensível contexto e mapeá-lo para uma estrutura de Kripke. Além disso, um conjunto de propriedades comportamentais é estabelecido com o intuito de auxiliar os projetistas no processo de identificação de determinados tipos de faltas de projeto. Por fim, com o objetivo de avaliar a viabilidade do método, uma ferramenta para a modelagem e verificação do comportamento excepcional sensível ao contexto foi desenvolvida e cenários de injeção de faltas (fault injection) foram modelados para analisar a sua efetividade na identificação de faltas de projeto no modelo.
4

Deadlocks as runtime exceptions

LÔBO, Rafael Brandão 17 August 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-07-12T12:30:10Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) DISSERTAÇÃO (2015-08-17) - RAFAEL BRANDAO LOBO.pdf: 1015468 bytes, checksum: d543b6f16adc4ce4d3aa4d59c8d546ff (MD5) / Made available in DSpace on 2016-07-12T12:30:10Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) DISSERTAÇÃO (2015-08-17) - RAFAEL BRANDAO LOBO.pdf: 1015468 bytes, checksum: d543b6f16adc4ce4d3aa4d59c8d546ff (MD5) Previous issue date: 2015-07-17 / CAPEs / Deadlocks are a common type of concurrency bug. When a deadlock occurs, it is difficult to clearly determine whether there is an actual deadlock or if the application is slow or hanging due to a different reason. It is also difficult to establish the cause of the deadlock. In general, developers deal with deadlocks by using analysis tools, introducing application-specific deadlock detection mechanisms, or simply by using techniques to avoid the occurrence of deadlocks by construction. In this paper we propose a different approach. We believe that if deadlocks manifest at runtime, as exceptions, programmers will be able to identify these deadlocks in an accurate and timely manner. We leverage two insights to make this practical: (i) most deadlocks occurring in real systems involve only two threads acquiring two locks (TTTL deadlocks); and (ii) it’s possible to detect TTTL deadlocks efficiently enough for most practical systems. We conducted a study on bug reports and found that more than 90% of identified deadlocks were indeed TTTL.We extended Java’s ReentrantLock class to detect TTTL deadlocks and measured the performance overhead of this approach with a conservative benchmark. For applications whose execution time is not dominated by locking, the overhead is estimated as below 6%. Empirical usability evaluation in two experiments showed that students finished tasks 16.87% to 30.7% faster on the average using our approach with the lock being the most significant factor behind it, and, in one of the experiments they were able to identify the defects more accurately with a signficant 81.25% increase in the number of correct answers when deadlock exceptions where present. / Deadlocks são um tipo comum de bug de concorrência. Quando um deadlock acontece, é difícil determinar claramente se houve um deadlock de verdade ou se a aplicação está lenta ou travada por qualquer outro motivo. Também é difícil estabelecer a causa do deadlock. Em geral, desenvolvedores lidam com deadlocks de várias maneiras: utilizando ferramentas analíticas; utilizando mecanismos especificos da aplicação para detectar deadlocks; ou simplesmente usando técnicas para evitar a ocorrência de deadlocks no momento da construção do código. Neste trabalho, propomos uma abordagem diferente. Acreditamos que se deadlocks se manifestarem durante a execução na forma de exceções, programadores serão capazes de identificar esses deadlocks de forma mais precisa e mais rápida. Levamos em consideração alguns aspectos para tornar esta abordagem prática: (i) a maioria dos deadlocks que ocorrem em sistemas reais envolvem apenas duas threads adquirindo dois locks ou two-thread, two-lock (TTTL) deadlock; e (ii) é possível detectar TTTL deadlocks de forma suficientemente eficiente para uso prático na maioria dos sistemas. Conduzimos um estudo com bugs reportados em sistemas de software de larga escala e descobrimos que mais de 90% dos bugs identificados como deadlocks eram de fato TTTL. Extendemos a classe ReentrantLock de Java para detectar TTTL deadlocks e medimos seu overhead na performance com um benchmark bastante conservador onde medimos o overhead das operações de trava quando deadlocks não são possíveis. Para aplicações cujo tempo de execução não é dominado por travas, o impacto médio no tempo de execução é na ordem de 6%. Realizamos uma avaliação empírica para testar usabilidade através de dois experimentos. Nesta avaliação, mostramos que, em média, estudantes terminam tarefas de 16.87% a 30.7% mais rapidamente usando nossa abordagem, sendo o tipo de abordagem o fator de maior significância e, em um dos experimentos, estudantes foram capazes de identificar mais corretamente a causa dos bugs, mostrando que o número de respostas corretas aumentou significativamente em 81.25% quando as exceções propostas estavam presentes.
5

Sistemas de informação cientes de processos, robustos e confiáveis / Robust and reliable process-aware information systems

Schwerz, André Luis 08 December 2016 (has links)
Atualmente, diversas empresas e organizações estão cada vez mais empreendendo esforços para transformar rapidamente as suas potenciais ideias em produtos e serviços. Esses esforços também têm estimulado a evolução dos sistemas de informação que passaram a ser apoiados por modelos de alto nível de abstração para descrever a lógica do processo. Neste contexto, destaca-se o sucesso dos Sistemas de Informação cientes de Processos (PAIS, do inglês Process-Aware Information Systems) para o gerenciamento de processos de negócios e automação de processos científicos de larga escala (e-Science). Grande parte do sucesso dos PAIS é devido à capacidade de prover funcionalidades genéricas para modelagem, execução e monitoramento dos processos. Essas características são bem-sucedidas quando os modelos de processos têm um caminho bem-comportado no sentido de atingir os seus objetivos. No entanto, situações anômalas que desviam a execução desse caminho bem-comportado ainda representam um significativo desafio para os PAIS. Por causa dos vários tipos de falhas que desviam a execução do comportamento esperado, prover uma execução robusta e confiável é uma tarefa complexa para os atuais PAIS, uma vez que nem todas as situações de falha podem ser eficientemente descritas dentro da estrutura do fluxo tradicional. Como consequência, o tratamento de tais situações geralmente envolve intervenções manuais nos sistemas por operadores humanos, o que resulta em custos adicionais e significativos para as empresas. Neste trabalho é introduzido um método de composição para recuperação ciente de custos e benefícios que é capaz de encontrar e seguir caminhos alternativos que reduzam os prejuízos financeiros do tratamento de exceções. Do ponto de vista prático, esse método provê o tratamento de exceção automatizado e otimizado ao calcular os custos e benefícios de cada caminho de recuperação e escolher o caminho com a melhor relação custo-benefício disponível. Mais especificamente, o método de recuperação proposto estende a abordagem WED-flow (Workflow, Event processing and Data-flow) para permitir a composição ciente de custos e benefícios de passos de recuperação transacionais backward e forward. Por fim, os experimentos mostram que esse método de recuperação pode ser adequadamente incorporado para manipular exceções em uma ampla variedade de processos. / Nowadays, many corporations and organizations are increasingly making efforts to transform quickly and effectively their potential ideas into products and services. These efforts have also stimulated the evolution of information systems that are now supported by higher-level abstract models to describe the process logic. In this context, several sophisticated Process-Aware Information Systems (PAIS) have successfully been proposed for managing business processes and automating large-scale scientific (e-Science) processes. Much of this success is due to their ability to provide generic functionality for modeling, execution and monitoring processes. These functionalities work well when process models have a well-behaved path towards achieving their objectives. However, anomalous situations that fall outside of the well-behaved execution path still pose a significant challenge to PAIS. Because of the many types of failures that may deviate execution away from expected behaviors, provision of robust and reliable execution is a complex task for current PAIS, since not all failure situations can be efficiently modeled within the traditional flow structure. As a consequence, the treatment for such situations usually involves interventions in systems by human operators, which result in significant additional cost for businesses. In this work, we introduce a cost/benefit-aware recovery composition method that is able to find and follow alternative paths to reduce the financial side effects of exception handling. From a practical point of view, this method provides the automated and optimized exception handling, by calculating the cost and benefits of each recovery path, and choosing the recovery path with the best cost/benefits available. More specifically, our recovery method extends the WED-flow (Workflow, Event processing and Data-flow) approach for enabling cost/benefit-aware composition of forward and/or backward transactional recovery steps. Finally, the experiments point out that this recovery method can be suitably incorporated into exception handling within a wide variety of processes.
6

Sistemas de informação cientes de processos, robustos e confiáveis / Robust and reliable process-aware information systems

André Luis Schwerz 08 December 2016 (has links)
Atualmente, diversas empresas e organizações estão cada vez mais empreendendo esforços para transformar rapidamente as suas potenciais ideias em produtos e serviços. Esses esforços também têm estimulado a evolução dos sistemas de informação que passaram a ser apoiados por modelos de alto nível de abstração para descrever a lógica do processo. Neste contexto, destaca-se o sucesso dos Sistemas de Informação cientes de Processos (PAIS, do inglês Process-Aware Information Systems) para o gerenciamento de processos de negócios e automação de processos científicos de larga escala (e-Science). Grande parte do sucesso dos PAIS é devido à capacidade de prover funcionalidades genéricas para modelagem, execução e monitoramento dos processos. Essas características são bem-sucedidas quando os modelos de processos têm um caminho bem-comportado no sentido de atingir os seus objetivos. No entanto, situações anômalas que desviam a execução desse caminho bem-comportado ainda representam um significativo desafio para os PAIS. Por causa dos vários tipos de falhas que desviam a execução do comportamento esperado, prover uma execução robusta e confiável é uma tarefa complexa para os atuais PAIS, uma vez que nem todas as situações de falha podem ser eficientemente descritas dentro da estrutura do fluxo tradicional. Como consequência, o tratamento de tais situações geralmente envolve intervenções manuais nos sistemas por operadores humanos, o que resulta em custos adicionais e significativos para as empresas. Neste trabalho é introduzido um método de composição para recuperação ciente de custos e benefícios que é capaz de encontrar e seguir caminhos alternativos que reduzam os prejuízos financeiros do tratamento de exceções. Do ponto de vista prático, esse método provê o tratamento de exceção automatizado e otimizado ao calcular os custos e benefícios de cada caminho de recuperação e escolher o caminho com a melhor relação custo-benefício disponível. Mais especificamente, o método de recuperação proposto estende a abordagem WED-flow (Workflow, Event processing and Data-flow) para permitir a composição ciente de custos e benefícios de passos de recuperação transacionais backward e forward. Por fim, os experimentos mostram que esse método de recuperação pode ser adequadamente incorporado para manipular exceções em uma ampla variedade de processos. / Nowadays, many corporations and organizations are increasingly making efforts to transform quickly and effectively their potential ideas into products and services. These efforts have also stimulated the evolution of information systems that are now supported by higher-level abstract models to describe the process logic. In this context, several sophisticated Process-Aware Information Systems (PAIS) have successfully been proposed for managing business processes and automating large-scale scientific (e-Science) processes. Much of this success is due to their ability to provide generic functionality for modeling, execution and monitoring processes. These functionalities work well when process models have a well-behaved path towards achieving their objectives. However, anomalous situations that fall outside of the well-behaved execution path still pose a significant challenge to PAIS. Because of the many types of failures that may deviate execution away from expected behaviors, provision of robust and reliable execution is a complex task for current PAIS, since not all failure situations can be efficiently modeled within the traditional flow structure. As a consequence, the treatment for such situations usually involves interventions in systems by human operators, which result in significant additional cost for businesses. In this work, we introduce a cost/benefit-aware recovery composition method that is able to find and follow alternative paths to reduce the financial side effects of exception handling. From a practical point of view, this method provides the automated and optimized exception handling, by calculating the cost and benefits of each recovery path, and choosing the recovery path with the best cost/benefits available. More specifically, our recovery method extends the WED-flow (Workflow, Event processing and Data-flow) approach for enabling cost/benefit-aware composition of forward and/or backward transactional recovery steps. Finally, the experiments point out that this recovery method can be suitably incorporated into exception handling within a wide variety of processes.

Page generated in 0.1053 seconds