Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por HASLab

2025

Property-based Testing of Attribute Grammars

Autores
Macedo, JN; Viera, M; Saraiva, J;

Publicação
PROCEEDINGS OF SLE 2025 18TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, SLE 2025

Abstract
Software testing is an integral part of modern software development. Testing frameworks are part of the toolset of any software language allowing programmers to test their programs in order to detect bugs. Unfortunately, there is no work on testing in attribute grammars. In this paper we combine the powerful property-based testing technique with the attribute grammar formalism. In such property-based attribute grammars, properties are defined on attribute instances. Properties are tested on large sets of randomly generated (abstract syntax) trees by evaluating their attributes. We present an implementation that relies on strategies to express property-based attribute grammars. Strategies are tree-based recursion patterns that are used to encode logic quantifiers defining the properties.

2025

Is There Hypothesis for Attribute Grammars?

Autores
Rodrigues, E; Macedo, JN; Saraiva, J;

Publicação
Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming, Programming 2025, June 2-6, 2025, Prague 1, Czechia

Abstract

2025

Greening AI-enabled Systems with Software Engineering: A Research Agenda for Environmentally Sustainable AI Practices

Autores
Cruz, L; Fernandes, JP; Kirkeby, MH; Fernández, SM; Sallou, J; Anwar, H; Roque, EB; Bogner, J; Castaño, J; Castor, F; Chasmawala, A; Cunha, S; Feitosa, D; González, A; Jedlitschka, A; Lago, P; Muccini, H; Oprescu, A; Rani, P; Saraiva, J; Sarro, F; Selvan, R; Vaidhyanathan, K; Verdecchia, R; Yamshchikov, IP;

Publicação
CoRR

Abstract

2025

Leakage-Free Probabilistic Jasmin Programs

Autores
Almeida, JB; Firsov, D; Oliveira, T; Unruh, D;

Publicação
PROCEEDINGS OF THE 14TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2025

Abstract
This paper presents a semantic characterization of leakage-freeness through timing side-channels for Jasmin programs. Our characterization covers probabilistic Jasmin programs that are not constant-time. In addition, we provide a characterization in terms of probabilistic relational Hoare logic and prove the equivalence between both definitions. We also prove that our new characterizations are compositional and relate our new definitions to existing ones from prior work, which could only be applied to deterministic programs. To provide practical evidence, we use the Jasmin framework to develop a rejection sampling algorithm and provide an EasyCrypt proof that ensures the algorithm's implementation is leakage-free while not being constant-time.

2025

Faster Verification of Faster Implementations: Combining Deductive and Circuit-Based Reasoning in EasyCrypt

Autores
Almeida, JB; Alves, GXDM; Barbosa, M; Barthe, G; Esquível, L; Hwang, V; Oliveira, T; Pacheco, H; Schwabe, P; Strub, PY;

Publicação
2025 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP

Abstract
We propose a hybrid formal verification approach that combines high-level deductive reasoning and circuit-based reasoning and apply it to highly optimized cryptographic assembly code. Our approach permits scaling up formal verification in two complementary directions: 1) it reduces the proof effort required for low-level functions where the computation logics are obfuscated by the intricate use of architecture-specific instructions and 2) it permits amortizing the effort of proving one implementation by using equivalence checking to propagate the guarantees to other implementations of the same computation using different optimizations or targeting different architectures. We demonstrate our approach via an extension to the EasyCrypt proof assistant and by revisiting formally verified implementations of ML-KEM in Jasmin. As a result, we obtain the first formally verified implementation of ML-KEM that offers performance comparable to the fastest non-verified implementation in x86-64 architectures.

2025

CCS25 - Artifact for "Jazzline: Composable CryptoLine functional correctness proofs for Jasmin programs"

Autores
Almeida, JB; Barbosa, M; BARTHE, G; Blatter, L; Duarte, JD; Marinho Alves, GXD; Grégoire, B; Oliveira, T; Quaresma, M; Strub, PY; Tsai, MH; Wang, BY; Yang, BY;

Publicação
Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security

Abstract
Jasmin is a programming language for high-speed and high-assurance cryptography. Correctness proofs of Jasmin programs are typically carried out deductively in EasyCrypt. This allows generality, modularity and composable reasoning, but does not scale well for low-level architecture-specific routines. CryptoLine offers a semi-automatic approach to formally verify algebraically-rich low-level cryptographic routines. CryptoLine proofs are self-contained: they are not integrated into higher-level formal verification developments. This paper shows how to soundly use CryptoLine to discharge subgoals in functional correctness proofs for complex Jasmin programs. We extend Jasmin with annotations and provide an automatic translation into a CryptoLine model, where most complex transformations are certified. We also formalize and implement the automatic extraction of the semantics of a CryptoLine proof to EasyCrypt. Our motivating use-case is the X-Wing hybrid KEM, for which we present the first formally verified implementation. © 2025 Copyright held by the owner/author(s).

  • 3
  • 263