Auto-Remediating Code at Scale with Lossless Semantic Tree and Generative AI

Watch on Twitch
Watch on YouTube
6:00 PM UTC on Thursday, May 25, 2023

Auto-Remediating Code at Scale with Lossless Semantic Tree and Generative AI

Auto-Remediating Code at Scale with Lossless Semantic Tree and Generative AI

May 25, 2023

In this episode

Add to calendar

The software industrial revolution has arrived. Software is now 80% open source and third-party and 20% proprietary code that stitches it together into business-critical applications. We are challenged with the ongoing evolution of increasingly large and diversely composed codebases and ecosystems. Dependencies change frequently and evolve at their own pace. Security vulnerabilities can be introduced at any time by anyone. Not updating regularly leads to critical bugs, performance, and security issues.

In this talk, we’ll address the need for automation—both rules-based and AI-driven—to remediate the unwieldy, assembled codebase. We’ll introduce the Lossless Semantic Tree (LST), a technology leap from the common Abstract Syntax Tree. The LST delivers full fidelity of codebase knowledge that results in 100% accurate style-preserving code transformations. The semantic-based data of the LST is manipulated by rule-based transformation recipes (programs) from OpenRewrite, an open source, automated refactoring tech and ecosystem born at Netflix in 2016.

We’ll also show you how this system can benefit from the suggestive authorship of generative code AI. We can leverage the OpenAI API to assist with code transformations in OpenRewrite recipes—and we’ll cover the downsides of generative AI for this use. We will also show how OpenAI can be used to process the LST, performing in-code classification problems and providing natural language descriptions of errors.

Guests

Sam Snyder

Sam Snyder

Sam Snyder has spent the past decade working on improving developer happiness with better tooling. At Tableau software, he used data from the development and deployment pipeline to systematically seize the greatest opportunities for improvement and eliminate the greatest pain points. At Gradle, he integrated that process and data visualization methodology into Gradle Enterprise. Now, as VP of Engineering at Moderne, Sam leads the team responsible for the core refactoring technologies with which to automate away the tedious, repetitive parts of software development.

Justine Gehring

Justine Gehring

Justine Gehring is a talented researcher in the field of Machine Learning (ML) for code and Graph Neural Networks (GNNs). Her focus lies in generating code under challenging circumstances, specifically in scenarios such as sparse data where library-specific code is required, as well as managing a substantial amount of code at a time. Justine is a research engineer at Moderne. She is completing her Master’s Degree in Computer Science at Mila & McGill.

Hosts

Cora Iberkleid

Cora Iberkleid

Cora Iberkleid is a Developer Advocate for Modern Applications at VMware Tanzu, helping developers and enterprises navigate modern practices and technologies, focusing on cloud native architecture, modern CI/CD, Spring, and Kubernetes.

Prior to joining VMware, Cora was an Advisory Solutions Engineer at Pivotal. She also spent nearly a decade at Sun Microsystems and Oracle, helping customers design and build enterprise integration applications. Through this experience, she developed an understanding and empathy for complex organizational challenges, and she strives to incorporate this empathy into her everyday work.