Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Margarida Ferreira

dblp:282/0512 · DBLP profile ↗
← Back
5ranked-venue papers
5as first author
5since 2021 · last 2025
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 3 first-author · 3 since 2021Computer networks · 2 · 2 first-author · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Program synthesis and code generation · 100%
Computer networks
1 paper
Transport protocols and congestion control · 100%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program synthesis and code generation
syntax-guided synthesis
0.912025
Program Synthesis from Partial Traces · Proc. ACM Program. Lang. 2025
Program synthesis and code generation › programming by demonstration
trace-based synthesis
0.912025
Program Synthesis from Partial Traces · Proc. ACM Program. Lang. 2025
Transport protocols and congestion control
transport protocol performance
0.212024
Reverse-Engineering Congestion Control Algorithm Behavior · IMC 2024

Methods — techniques the papers use, named apart from their topics

optimizing rewrites · 0.9cost metrics · 0.9reverse engineering · 0.8
YearPublicationVenuePosition
2025 Acceptance Test Generation with Large Language Models: An Industrial Case Study
abstract
Large language model (LLM)-powered assistants are increasingly used for generating program code and unit tests, but their application in acceptance testing remains underexplored. To help address this gap, this paper explores the use of LLMs for generating executable acceptance tests for web applications through a two-step process: (i) generating acceptance test scenarios in natural language (in Gherkin) from user stories, and (ii) converting these scenarios into executable test scripts (in Cypress), knowing the HTML code of the pages under test. This two-step approach supports acceptance test-driven development, enhances tester control, and improves test quality. The two steps were implemented in the AutoUAT and Test Flow tools, respectively, powered by GPT-4 Turbo, and integrated into a partner company’s workflow and evaluated on real-world projects. The users found the acceptance test scenarios generated by AutoUAT helpful 95% of the time, even revealing previously overlooked cases. Regarding Test Flow, 92% of the acceptance test cases generated by Test Flow were considered helpful: 60% were usable as generated, 8% required minor fixes, and 24% needed to be regenerated with additional inputs; the remaining 8% were discarded due to major issues. These results suggest that LLMs can, in fact, help improve the acceptance test process, with appropriate tooling and supervision.
Margarida Ferreira, Luís Viegas, João Pascoal Faria, Bruno Lima
AST1
2025 Program Synthesis from Partial Traces
abstract
We present the first technique to synthesize programs that compose side-effecting functions, pure functions, and control flow, from partial traces containing records of only the side-effecting functions. This technique can be applied to synthesize API composing scripts from logs of calls made to those APIs, or a script from traces of system calls made by a workload, for example. All of the provided traces are positive examples, meaning that they describe desired behavior. Our approach does not require negative examples. Instead, it generalizes over the examples and uses cost metrics to prevent over-generalization. Because the problem is too complex for traditional monolithic program synthesis techniques, we propose a new combination of optimizing rewrites and syntax-guided program synthesis. The resulting program is correct by construction, so its output will always be able to reproduce the input traces. We evaluate the quality of the programs synthesized when considering various optimization metrics and the synthesizer’s efficiency on real-world benchmarks. The results show that our approach can generate useful real-world programs.
Margarida Ferreira, Victor Nicolet, Joey Dodds, Daniel Kroening
Proc. ACM Program. Lang.1
2024 Reverse-Engineering Congestion Control Algorithm Behavior
Margarida Ferreira, Ranysha Ware, Yash Kothari, Inês Lynce, Ruben Martins, Akshay Narayan 0001, Justine Sherry
IMC1
2021 Counterfeiting Congestion Control Algorithms
abstract
Congestion Control Algorithms (CCAs) impact numerous desirable Internet properties such as performance, stability, and fairness. Hence, the networking community invests substantial effort into studying whether new algorithms are safe for wide-scale deployment. However, operators today are continuously innovating and some deployed CCAs are unpublished - either because the CCA is in beta or because it is considered proprietary. How can the networking community evaluate these new CCAs when their inner workings are unknown?
Margarida Ferreira, Akshay Narayan 0001, Inês Lynce, Ruben Martins, Justine Sherry
HotNets1
2021 FOREST: An Interactive Multi-tree Synthesizer for Regular Expressions
abstract
Abstract Form validators based on regular expressions are often used on digital forms to prevent users from inserting data in the wrong format. However, writing these validators can pose a challenge to some users. We presentForest, a regular expression synthesizer for digital form validations.Forestproduces a regular expression that matches the desired pattern for the input values and a set of conditions over capturing groups that ensure the validity of integer values in the input. Our synthesis procedure is based on enumerative search and uses a Satisfiability Modulo Theories (SMT) solver to explore and prune the search space. We propose a novel representation for regular expressions synthesis, multi-tree, which induces patterns in the examples and uses them to split the problem through a divide-and-conquer approach. We also present a new SMT encoding to synthesize capture conditions for a given regular expression. To increase confidence in the synthesized regular expression, we implement user interaction based on distinguishing inputs. We evaluatedForeston real-world form-validation instances using regular expressions. Experimental results show thatForestsuccessfully returns the desired regular expression in 70% of the instances and outperformsRegel, a state-of-the-art regular expression synthesizer.
Margarida Ferreira, Miguel Terra-Neves, Miguel Ventura, Inês Lynce, Ruben Martins
TACAS (1)1