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

Esta formação é oferecida como oportunidade de aprender sobre sustentabilidade do corpo à comunidade e ao ecossistema, perante uma situação global desesperante, sonhando utopicamente com futuros mais justos e equitativos. 

Conversa com Cristina Luís (investigadora no CIUHCT - Centro Interuniversitário de História das Ciências e da Tecnologia / Ciências ULisboa).

Fotografia de Chapim-azul

The goal of this course is to provide the participants with the most recent and practical knowledge on the use of Functional Diversity.

O evento reunirá alunos de Ciências ULisboa e do ISCAL, proporcionando-lhes uma oportunidade única para apresentarem e defenderem os seus projetos empreendedores num formato de pitch.

Seminário do Centro de Física Teórica e Computacional, por Susana Barbosa (INESC TEC, Porto, Portugal).

Palestra de divulgação das atividades e oportunidades do IEEE (Institute of Electrical and Electronics Engineers).

Logótipo CQE Days 2025

O encontro tem como objetivo divulgar e promover os resultados da investigação produzidos nos dois pólos do Centro de Química Estrutural (CIÊNCIAS e IST), estimulando a criatividade, o trabalho interdisciplinar e o espírito científico.

Mão a segurar em globo de vidro

Curso acreditado pelo CCPFC para efeitos de progressão na carreira dos professores na dimensão cientifico-pedagógica dos grupos 230, 420, 510, 520 e 560, com candidaturas até 30 de abril.

Seminário de Lógica Matemática, por Eduardo Magalhães (Universidade do Porto).

The aim of this event is to illustrate the importance of interdisciplinarity. To do so the meeting will bring together researchers from different areas who work in interdisciplinary fields within Ciências ULisboa

Seminário de Geometria e Física, por Tomás Inácio (FCUL, Universidade de Lisboa).

Seminário do Departamento de Física de Ciências ULisboa, por José Manuel Rebordão (FCUL - DF).

Cardume

Seminário Doutoral I (Doutoramento em Biologia), por Eduardo Miguel Onofre Feijão.

Seminário de Análise e Equações Diferenciais, por João Pedro Ramos (Instituto Nacional de Matemática Pura e Aplicada).

“Coroa de Flores” cósmica

Seminário do Instituto de Astrofísica e Ciências do Espaço, por Federica Loiacono (INAF OAS Bologna, Italy).

Logótipo do LIP Summer Internship Program

Um programa destinado a estudantes de Física e Engenharia com interesse em investigação científica e tecnológica, com candidaturas até 15 de maio (nova data).

Seminário do Centro de Física Teórica e Computacional, por João Amaral (Department of Physics and CICECO, University of Aveiro, Portugal).

Seminário de Análise e Equações Diferenciais, por Wladimir Neves (Universidade Federal do Rio de Janeiro).

Título/data/local do evento, logótipos das entidades organizadoras e fotografia de peixe

The event aims to facilitate the exchange of information and knowledge among professionals to advance the understanding, collaboration and capabilities of aquaculture to respond to the impact of climate change in a rapidly changing global environment.

Composição do logótipo da ULisboa e de representação do rosto humano à base de relógios

22 de maio - dois dos doze finalistas da competição são alunos de CIÊNCIAS.

Seminário de Análise e Equações Diferenciais, por Leonid Berlyand (Penn State University).

Seminário do Instituto de Astrofísica e Ciências do Espaço, por Pier-Stefano Corasaniti (Observatoire de Paris-Meudon, France).

Uma oportunidade única para interagir com a comunidade global de computação científica.

Logótipo Moodle

Ação de formação para docentes e investigadores de CIÊNCIAS.

Título/data/local do evento e iconografia representativa de energias renováveis

Inscrições até 16 de maio! Junta-te a esta revolução energética e faz a diferença!

Páginas