Pessanha, V., R. J. Dias, J. M. Lourenço, E. Farchi, and D. Sousa,
"Practical verification of high-level dataraces in transactional memory programs",
Proceedings of 9th the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, New York, NY, USA, ACM, pp. 26–34, July, 2011.
AbstractIn this paper we present MoTh, a tool that uses static analysis to enable the automatic verification of concurrency anomalies in Transactional Memory Java programs. Currently MoTh detects high-level dataraces and stale-value errors, but it is extendable by plugging-in sensors, each sensor implementing an anomaly detecting algorithm. We validate and benchmark MoTh by applying it to a set of well known concurrent buggy programs and by close comparison of the results with other similar tools. The results achieved so far are very promising, yielding good accuracy while triggering only a very limited number of false warnings.
Sousa, D. G., C. Ferreira, and J. M. Lourenço,
"Prevenção de Violações de Atomicidade usando Contractos",
Proceedings of INForum Simpósio de Informática, Lisbon, Portugal, Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa, pp. 190–201, sep, 2013.
AbstractA programação concorrente obriga o programador a sincronizar os acessos concorrentes a regiões de memória partilhada, contudo esta abordagem não é suficiente para evitar todas as anomalias que podem ocorrer num cenário concorrente. Executar uma sequência de operações atómicas pode causar violações de atomicidade se existir uma correlação entre essas operações, devendo o programador garantir que toda a sequência de operações é executada atomicamente. Este problema é especialmente comum quando se usam operações de pacotes ou módulos de terceiros, pois o programador pode identificar incorretamente o âmbito das regiões de código que precisam de ser atómicas para garantir o correto comportamento do programa. Para evitar este problema o programador do módulo pode criar um contrato que especifica quais as sequências de operações do módulo que devem ser sempre executadas de forma atómica. Este trabalho apresenta uma análise estática para verificação destes contratos.
Cunha, J. C., W. Fleischman, J. M. Lourenço, and V. K. Proulx,
Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE'05),
, New York, NY, USA, ACM, 2005.
Abstract
Lourenço, J. M., E. Farchi, and S. Ur,
Proceedings of the 8th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD'10),
, New York, NY, USA, ACM, 2010.
Abstract
Lourenço, J. M., E. Farchi, and S. Ur,
Proceedings of the 9th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD'11),
, New York, NY, USA, ACM, 2011.
Abstract