Add abstract
Want to add your dissertation abstract to this database? It only takes a minute!
Search abstract
Search for abstracts by subject, author or institution
Want to add your dissertation abstract to this database? It only takes a minute!
Search for abstracts by subject, author or institution
Deadlocks as runtime exceptions
by Rafael Brandão LÔBO
Institution: | Universidade Federal de Pernambuco |
---|---|
Year: | 2015 |
Keywords: | Deadlock; Concorrência; Tratamento de Exceção; Estudos Empíricos; Deadlock; Concurrency; Exception Handling; Empirical Studies |
Posted: | 02/05/2017 |
Record ID: | 2085994 |
Full text PDF: | http://repositorio.ufpe.br/handle/123456789/17332 |
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. Advisors/Committee Members: LIMA FILHO, Fernando José Castor de (advisor), http://lattes.cnpq.br/7310046838140771 (advisor).
Want to add your dissertation abstract to this database? It only takes a minute!
Search for abstracts by subject, author or institution
Time for the Appeal Tribunal in Investment Arbitra...
Lessons from WTO and Transitioning to the New Era
|
|
Identifying Juvenile Firesetters
A Survey of the Operating Procedures, Risk Assessm...
|
|
Implicity of Electronic Contract Formation
With Reference to Email and Website
|
|
Prisons in the Neoliberal Era
Class and Symbolic Dimensions
|
|
The Applicable Law to International Commercial Con...
With a Special Emphasis on Choice of Law Rules in ...
|
|
Incapacitating the Innocent
An Investigation of Legal and Extralegal Factors A...
|
|
Reasons for Disclosure in the Physician-Patient Re...
How Physician Conduct and Reimbursement Methodolog...
|
|
The Contribution of Natural Law Theory to Moral an...
|
|