Publications
Find all my publications on my Google Scholar page.
Arxiv Preprint 2024
Generative AI (GenAI) tools have already started to transform software development practices. Despite their utility in
tasks such as writing code, the use of these tools raises important legal questions and potential risks, particularly
those associated with copyright law. In the midst of this uncertainty, this paper presents a study jointly conducted by
software engineering and legal researchers that surveyed 574 GitHub developers who use GenAI tools for development activities.
The survey and follow-up interviews probed the developers' opinions on emerging legal issues as well as their perception of
copyrightability, ownership of generated code, and related considerations. We also investigate potential developer misconceptions,
the impact of GenAI on developers' work, and developers' awareness of licensing/copyright risks. Qualitative and quantitative
analysis showed that developers' opinions on copyright issues vary broadly and that many developers are aware of the nuances these
legal questions involve. We provide: (1) a survey of 574 developers on the licensing and copyright aspects of GenAI for coding, (2)
a snapshot of practitioners' views at a time when GenAI and perceptions of it are rapidly evolving, and (3) an analysis of developers'
views, yielding insights and recommendations that can inform future regulatory decisions in this evolving field.
International Conference on Software Engineering (ICSE) 2025
Recent advances in quantum computing have sparked excitement that this new computing paradigm could solve previously
intractable problems. However, due to the faulty nature of current quantum hardware and quantum-intrinsic noise,
the full potential of quantum computing is still years away. Hybrid quantum-classical computing has emerged as a
possible compromise that achieves the best of both worlds. In this paper, we look at hybrid quantum-classical computing
from a software engineering perspective and present the first empirical study focused on characterizing and evaluating
recurrent issues faced by developers of hybrid quantum-classical applications. The study comprised a thorough analysis of
531 real-world issues faced by developers -- including software faults, hardware failures, quantum library errors, and
developer mistakes -- documented in discussion threads from forums dedicated to quantum computing. By qualitatively
analyzing such forum threads, we derive a comprehensive taxonomy of recurring issues in hybrid quantum-classical
applications that can be used by both application and platform developers to improve the reliability of hybrid applications.
The study considered how these recurring issues manifest and their causes, determining that hybrid applications are
crash-dominant (74% of studied issues) and that errors were predominantly introduced by application developers (70% of
issues). We conclude by identifying recurring obstacles for developers of hybrid applications and actionable
recommendations to overcome them.
Foundations of Software Engineering (FSE) 2024
Most modern software products incorporate open source components, which requires compliance with each
component's licenses. As noncompliance can lead to significant repercussions, organizations often seek advice
from legal practitioners to maintain license compliance, address licensing issues, and manage the risks of
noncompliance. While legal practitioners play a critical role in the process, little is known in the software
engineering community about their experiences within the open source license compliance ecosystem. To fill
this knowledge gap, a joint team of software engineering and legal researchers designed and conducted a survey
with 30 legal practitioners and related occupations and then held 16 follow-up interviews. We identified different
aspects of OSS license compliance from the perspective of legal practitioners, resulting in 14 key findings
in three main areas of interest: the general ecosystem of compliance, the specific compliance practices of legal
practitioners, and the challenges that legal practitioners face. We discuss the implications of our findings.
International Conference on Software Engineering (ICSE) 2024
Software Bills of Materials (SBOMs) have emerged as tools to facilitate the management
of software dependencies, vulnerabilities, licenses, and the supply chain.
Significant effort has been devoted to increasing SBOM awareness and developing
SBOM formats and tools. Despite this effort, recent studies have shown that SBOMs
are still an early technology not adequately adopted in practice yet, mainly due to
limited SBOM tooling and lack of industry consensus on SBOM content, tool usage,
and practical benefits. Expanding on previous research, this thesis reports a
comprehensive study that first investigates the current challenges stakeholders encounter
when creating and using SBOMs. The study surveyed 138 practitioners belonging to
five groups of stakeholders (practitioners familiar with SBOMs, members of critical
open source projects, AI/ML practitioners, experts of cyber-physical systems, and
legal professionals), using differentiated questionnaires. We interviewed eight survey
respondents to gather further insights about their experience. We identified fourteen
major challenges facing the creation and use of SBOMs, including those related to
the material included in SBOMs, deficiencies in SBOM tools, SBOM maintenance
and verification, and domain-specific challenges. We propose and discuss six actionable
solutions to the identified challenges and present the major avenues for future
research and development. We hope these solutions can be adopted by the community
to improve SBOM formats, tools, and adoption, and thus, enable the full
potential of SBOMs.
Washington and Lee Library - 2020
Video game maps can become dull with repeated play-throughs and handcrafting
a variety of maps can be a tedious and time consuming process. This is especially true for games
of the Metroidvania genre, games which focus on exploration. If there was a way to adequately automate
the creation of levels, then in theory, the games would have enhanced replay value. Previous researchers
have used artificial intelligence and genetic programming techniques to engineer new mappings. But, is it
possible to procedurally generate levels using graph theory and without using training examples or simply
placing pre-built assets? In this paper we propose a system to model Metroidvania maps as directional graph
structures. The system uses an algorithm that crafts graphs meeting all of the constraints necessary for level
generation. These generated graphs are verified as winnable with the keys assigned to appropriate nodes. Once
the graph has been created and validated it is rendered into a 2-D level using pygame. During the rendering
process, the game demo constructs the walls and platforms essential to the game. We were able to procedurally
generate Metroidvania levels of varying sizes and gating techniques using this sequence of steps.