VLDB 2026 Research / reviewers in the wild / expert
José Nuno Macedo
dblp:246/3431 · also José Nuno Castro de Macedo
· DBLP profile ↗
6ranked-venue papers
3as first author
5since 2021 · last 2026
0000-0002-0282-5060ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 2 first-author · 5 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Ztrategic: Libraries and Tools For Software Language Specification, Transformation, and TestingabstractThis tool paper presents the Ztrategic framework, which integrates strategic term rewriting and attributes grammars through a unifying navigation abstraction based on functional zippers. The resulting zipper-based embedding is both concise and expressive, integrating the strengths of both formalisms. Together, these mechanisms serve as foundational building blocks for Ztrategic for supporting property-based testing in language engineering. Emanuel Rodrigues, José Nuno Macedo, João Saraiva |
SLE | 2 |
| 2025 | Property-based Testing of Attribute GrammarsabstractSoftware 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. José Nuno Macedo, Marcos Viera, João Saraiva |
SLE | 1 |
| 2024 | pyZtrategic: A Zipper-Based Embedding of Strategies and Attribute Grammars in PythonabstractThis paper presents pyZtrategic: a library that embeds strategic term rewriting and attribute grammars in the Python programming language. Strategic term rewriting and attribute grammars are two powerful programming techniques widely used in language engineering: The former relies on strategies to apply term rewrite rules in defining large-scale language transformations, while the latter is suitable to express context-dependent language processing algorithms. Thus, pyZtrategic offers Python programmers recursion schemes (strategies) which apply term rewrite rules in defining large scale language transformations. It also offers attribute grammars to express context-dependent language processing algorithms. PyZtrategic offers the best of those two worlds, thus providing powerful abstractions to express software maintenance and evolution tasks. Moreover, we developed several language engineering problems in pyZtrategic, and we compare it to well established strategic programming and attribute grammar systems. Our preliminary results show that our library offers similar expressiveness as such systems, but, unfortunately, it does suffer from the current poor runtime performance of the Python language. Emanuel Rodrigues, José Nuno Macedo, Marcos Viera, João Saraiva |
ENASE | 2 |
| 2024 | Zipper-based embedding of strategic attribute grammarsabstractStrategic term re-writing and attribute grammars are two powerful programming techniques widely used in language engineering. The former relies on strategies to apply term re-write rules in defining large-scale language transformations, while the latter is suitable to express context-dependent language processing algorithms. These two techniques can be expressed and combined via a powerful navigation abstraction: generic zippers. This results in a concise zipper-based embedding offering the expressiveness of both techniques. In addition, we increase the functionalities of strategic programming, enabling the definition of outwards traversals; i.e. outside the starting position. Such elegant embedding has a severe limitation since it recomputes attribute values. This paper presents a proper and efficient embedding of both techniques. First, attribute values are memoized in the zipper data structure, thus avoiding their re-computation. Moreover, strategic zipper based functions are adapted to access such memoized values. We have hosted our memoized zipper-based embedding of strategic attribute grammars both in the Haskell and Python programming languages. Moreoever, we benchmarked the libraries supporting both embedding against the state-of-the-art Haskell-based Strafunski and Scala-based Kiama libraries. The first results show that our Haskell Ztrategic library is very competitive against those two well established libraries. José Nuno Macedo, Emanuel Rodrigues, Marcos Viera, João Saraiva |
J. Syst. Softw. | 1 |
| 2023 | GPT-3-Powered Type Error Debugging: Investigating the Use of Large Language Models for Code RepairabstractType systems are responsible for assigning types to terms in programs. That way, they enforce the actions that can be taken and can, consequently, detect type errors during compilation. However, while they are able to flag the existence of an error, they often fail to pinpoint its cause or provide a helpful error message. Thus, without adequate support, debugging this kind of errors can take a considerable amount of effort. Recently, neural network models have been developed that are able to understand programming languages and perform several downstream tasks. We argue that type error debugging can be enhanced by taking advantage of this deeper understanding of the language’s structure. In this paper, we present a technique that leverages GPT-3’s capabilities to automatically fix type errors in OCaml programs. We perform multiple source code analysis tasks to produce useful prompts that are then provided to GPT-3 to generate potential patches. Our publicly available tool, Mentat, supports multiple modes and was validated on an existing public dataset with thousands of OCaml programs. We automatically validate successful repairs by using Quickcheck to verify which generated patches produce the same output as the user-intended fixed version, achieving a 39% repair rate. In a comparative study, Mentat outperformed two other techniques in automatically fixing ill-typed OCaml programs. Francisco Ribeiro, José Nuno Macedo, Kanae Tsushima, Rui Abreu 0001, João Saraiva |
SLE | 2 |
| 2020 | InDubio: A Combinator Library to Disambiguate Ambiguous Grammars
José Nuno Macedo, João Saraiva |
ICCSA (4) | 1 |