Master's Dissertation
DOI
https://doi.org/10.11606/D.45.2000.tde-20210729-122815
Document
Author
Full name
Clóvis Seragiotto Junior
E-mail
Institute/School/College
Knowledge Area
Date of Defense
Published
São Paulo, 2000
Supervisor
Title in Portuguese
Detecção dinâmica de condições de disputa para programas 'multi threaded' em JAVA
Keywords in Portuguese
Linguagem De Programação
Abstract in Portuguese
Embora a programação concorrente tenha se popularizado, construir um programa concorrente correto é ainda uma tarefa muito difÃcil pois a falha exibida pelo programa pode ser dependente do escalonamento e apenas raramente se repetir. Nesta dissertação é descrita uma nova ferramenta, chamada Ladybug, capaz de detectar dinamicamente e existência de condições de disputa em programas Java. Ladybug rescreve classes Java já compiladas, inserindo invocações a métodos de monitoramento. O algoritmo utilizado pelos métodos de monitoramento (Ladyburg oferece dois), bem como sua implementação (privilegiando velocidade ou economia de melhoria), são escolhidos pelo usuário no momento da execução do programa escrito. Ladybug foi utilizadacom problemas cláasicos de concorrencia, programas de alunos de graduação da disciplina 'Programação Concorrente', um servidor e um cliente HTTP, e pareceu ser efetiva na descoberta de condições de disputa
Title in English
not available
Abstract in English
Even though concurrent programming has become popular, building a correct concurrent program is still a very difficult task: the failure shown by the program may be scheduling dependent and it may only seldom recur. In this dissertation, a new tool called Ladybug is described. It can dynamically detect the presence of race conditions in Java programs by rewriting classes already compiled and inserting invocations to monitoring methods in them. The algorithm used by the monitoring methods (Ladybug offers two) as well as its implementation (one that privileges speed or saves memory) are chosen by the user when the program is started. Ladybug has been used with classical concurrent problems, programing assignments from undergraduate students of the Concurrent Programming course, an HTTP client and an HTTP server, and it appeared to be effective in finding race conditions
WARNING - Viewing this document is conditioned on your acceptance of the following terms of use:
This document is only for private use for research and teaching activities. Reproduction for commercial use is forbidden. This rights cover the whole data about this document as well as its contents. Any uses or copies of this document in whole or in part must include the author's name.
Publishing Date
2021-07-29