RSS Meetup

Automatic Detection and Resolution of Deadlocks in Go Programs

Sala 6.3.27, Ciências ULisboa

Por António Ravara (FCT/UNL).

The Go programming language is gaining momentum as a tool for developing concurrent software, privileging message-passing as the favoured abstraction for concurrency interaction. Message-passing is not immune to the usual concurrency errors: programs may deadlock since the language run-time offers only basic support for deadlock detection with no safety guarantees at compile-time (apart from the usual data type-safety). There is a need for more general deadlock resolution strategies in a Go message-passing setting that go beyond prevention and avoidance: existing solutions detect numerous deadlocks but limit their resolution to a small set of specific deadlock patterns. In this paper, we develop an algorithm that takes an abstraction of the communication behaviour of a Go program containing all the channel communication necessary for progress, detects possible deadlocks, and then suggests replacement code to the erroneous code snippet causing the deadlock. Building on previous work, we deal with real world situations that go beyond the state-of-the-art, offering solutions for deadlock detection and fixing that other approaches do not deal with.
(join work with Jorge Coelho, Adrian Francalanza and João Lourenço)

Bio: António Ravara is an Associate Professor at the Department of Informatics, Faculty of Sciences and Technology, NOVA University of Lisbon, Portugal (since October 2018). He has a PhD in Mathematics at IST, of the Technical University of Lisbon, Portugal (December 2000). MSc in Applied Mathematics at IST of the Technical University of Lisbon, Portugal (May 1996). BSc in Geographical Engineering at the Faculty of Sciences of the University of Lisbon, Portugal (September 1991).
His main research problem is how to ensure that inherently concurrent, highly distributed, software systems behave correctly. The focus is on the development of techniques, program constructions, and tools that help creating safe and well-behaved systems, provably providing correctness guarantees. The toolbox used includes static analysis of source code, capturing defects before deployment, with decidable, low complexity, property-driven, proof systems, using behavioural descriptions of programs.

17h00
LASIGE Computer Science and Engineering Research Centre
Computador portátil a projetar imagem de sequência biológica

O curso visa a aquisição de conhecimentos sobre as ferramentas bioinformáticas disponíveis para efetuar análises de sequências de DNA e proteínas, bem como a autonomia e espírito crítico na utilização dessas ferramentas. Procura igualmente desenvolver competências na utilização de software de bioinformática disponível gratuitamente na Internet e na interpretação do significado biológico dos resultados - candidaturas até 12 dezembro.

Representação de pessoa a interagir com tecnologia

O curso introduz o conceito de Digital Twins e a sua aplicação estratégica no contexto do serviço público, com foco na modernização digital, otimização de processos e apoio à decisão - candidaturas até 11 de janeiro.

Bola de cristal colocada no solo

O curso tem como objetivo apresentar aos participantes um estado da arte atualizado sobre a diversidade da biota do solo e os papéis funcionais desempenhados pelos organismos do solo nos principais processos ecológicos - candidaturas até 19 de dezembro.

Imagem exemplificativa da área da deteção remota

Este curso avançado tem como objetivo fornecer acesso e ferramentas para a aquisição e processamento de dados de deteção remota para diferentes aplicações, usando imagens multiespectrais de satélite, drone, terrestres e LiDAR, com foco na caracterização da vegetação e da paisagem, bem como das suas mudanças ao longo do tempo - candidaturas até 19 de dezembro.

Duas pessoas a interagirem num contexto de realidade virtual

O curso explora o potencial da Realidade Virtual (VR) e Aumentada (AR) como ferramentas inovadoras nos processos de onboarding e desenvolvimento de competências - candidaturas até 25 de janeiro.

Ginásio "inundado" de tecnologia

Um programa único na Europa, com o objetivo de capacitar para a integração crítica, segura e eficaz de ferramentas digitais na intervenção clínica - candidaturas até 30 de janeiro.

Imagem abstrata

Neste curso, será promovida uma abordagem multidisciplinar, apresentando as descobertas mais recentes sobre o tema e desafiando a forma tradicional de considerar as associações simbióticas como exceções e não como a regra - candidaturas até 09 de janeiro.

A conferência visa reunir os principais especialistas no domínio da Imagiologia Médica por Micro-ondas (MMWI) e incluirá palestras, apresentações e pósteres de resumos revistos por pares e artigos de conferências, bem como workshops em áreas satélite de investigação com interesse para a investigação em MMWI.

Pessoas a analisarem dados

Candidaturas até 13 de fevereiro.

Um curso prático, limitado a um pequeno número de participantes, destinado a quem procura formação básica em teoria e estatística macroecológica e deseja familiarizar-se com algumas das potenciais utilizações de vários métodos avançado - candidaturas até 13 de fevereiro.

Páginas