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

"Por caminhos de pedra solta", "Os homens não tapam as orelhas" e "A Professora" são os nomes dos mais recentes livros do Professor Galopim de Carvalho, editados pela Âncora Editores, que serão apresentados no próximo dia 18 de dezembro, no MUHNAC.

Título "19 Escolas / Ajudas" e conjunto de luzes de Natal

Entre 09 e 19 de dezembro, a Universidade de Lisboa promove a Campanha de Natal Solidária em apoio à Associação SOL, que presta cuidados a crianças e jovens que vivem com VIH/SIDA.

Bolsas de Doutoramento Unite! ULisboa

O concurso decorre até 20 de dezembro.

Computador portátil a projetar imagem de sequência biológica

Curso com candidaturas até 12 dezembro.

Estudantes

As candidaturas decorrem até 08 de janeiro.

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

Curso com 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é 16 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.

As inscrições são grátis para funcionários e estudantes de CIÊNCIAS e da FCiências.ID, mediante a utilização do código CIENCIASFREE. 

O workshop propõe promover a partilha de estratégias metodológicas que permitam transformar as ferramentas de inteligência artificial em apoios qualificados ao trabalho docente, assegurando que complementam, e nunca substituem, a intervenção profissional, o rigor pedagógico e a intencionalidade do professor.

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.