Daniel Ramos
Logo PhD Student

Hello! I'm Daniel, a final year dual-degree Ph.D. student in Computer Science and Software Engineering at Carnegie Mellon University (CMU) and Instituto Superior Técnico (IST). I'm fortunate to be co-advised by Claire Le Goues, Ruben Martins, and Vasco Manquinho.

I research and develop prototype and production-ready tools (that have been commercialized) to automate large-scale, repetitive code changes. My work lies at the intersection of artificial intelligence and programming languages, focusing on automating tedious software engineering tasks such as library migration, handling breaking changes, and code cleanup.

I'm also very interested in scalable program analyses, repair and source-to-source transformations.

UPDATE: I will be on the job market for research scientist/engineer positions in mid-2025. If my expertise aligns with your team or project needs, please feel free to reach out!


Education
  • Carnegie Mellon University
    Carnegie Mellon University
    Aug. 2020 - Present
    Ph.D. in Software Engineering
    Thesis: Automated API Migration and Refactoring for Evolving Codebases
    Fully supported by a CMU Portugal Fellowship (~USD 300,000)
  • Instituto Superior Técnico
    Instituto Superior Técnico
    Aug. 2020 - Present
    Ph.D. in Computer Science
    Dual Degree Ph.D. program joint with CMU
  • Carnegie Mellon University
    Carnegie Mellon University
    Aug. 2021 - Aug. 2023
    M.Sc. in Software Engineering
    Awarded as a recognition of progress within the Ph.D. program.
  • Instituto Superior Técnico
    Instituto Superior Técnico
    Sep. 2017 - Sep. 2019
    M.Sc. in Computer Science and Engineering
    Thesis: Program Synthesis from Noisy Data
    Intelligent System Track, Grade: 19/20 (first class)
  • Instituto Superior Técnico
    Instituto Superior Técnico
    Sep. 2014 - Sep. 2017
    B.Sc. in Computer Science and Engineering
    Grade: 18/20 (first class)
Experience
  • Uber Technologies Inc.
    Uber Technologies Inc.
    Summer 2024
    PhD Software Engineer Intern
    Research Group: Programming Systems Group
    Improved PolyglotPiranha and developed a novel LLM component for fixing and renaming tests after deleting stale feature flags.
  • Uber Technologies Inc.
    Uber Technologies Inc.
    Summer 2023
    PhD Software Engineer Intern
    Research Group: Programming Systems Group
    Researching and developing a novel polyglot language/toolset (named PolyglotPiranha) for large scale automated refactoring.
  • INESC-ID
    INESC-ID
    Nov. 2019- Aug. 2020
    Junior Researcher
    Research Group: Automated Reasoning and Software Reliability (ARSR)
    Worked on program synthesis for data wrangling and summarization
  • Caixa Magica Software
    Caixa Magica Software
    Summer 2017
    Software Engineer Intern
    Developed an optimizer based on local search to schedule the workers of the largest Portuguese electric utilities company.
Selected Publications (view all )
A Lightweight Polyglot Code Transformation Language

Ameya Ketkar*, Daniel Ramos*, Lazaro Clapp, Raj Barik, Murali Krishna Ramanathan (* equal contribution)

Proceedings of the ACM on Programming Languages (PLDI) 2024 Spotlight

A Lightweight Polyglot Code Transformation Language
A Lightweight Polyglot Code Transformation Language

Ameya Ketkar*, Daniel Ramos*, Lazaro Clapp, Raj Barik, Murali Krishna Ramanathan (* equal contribution)

Proceedings of the ACM on Programming Languages (PLDI) 2024 Spotlight

BatFix: Repairing Language Model-based Transpilation

Daniel Ramos, Inês Lynce, Vasco Manquinho, Ruben Martins, Claire Le Goues

ACM Transactions on Software Engineering and Methodology (TOSEM) 2024

<b>BatFix</b>: Repairing Language Model-based Transpilation
BatFix: Repairing Language Model-based Transpilation

Daniel Ramos, Inês Lynce, Vasco Manquinho, Ruben Martins, Claire Le Goues

ACM Transactions on Software Engineering and Methodology (TOSEM) 2024

MELT: Mining Effective Lightweight Transformations from Pull Requests

Daniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho, Ruben Martins, Claire Le Goues

2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2023 Spotlight

<b>MELT</b>: Mining Effective Lightweight Transformations from Pull Requests
MELT: Mining Effective Lightweight Transformations from Pull Requests

Daniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho, Ruben Martins, Claire Le Goues

2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2023 Spotlight

All publications