Ameya Ketkar

Software Engineer

Talk Title

How we automated code maintenance and you can too!


Fisher West/DPE Track




10:25 > 40 min


on Twitter

Let's face it: as developers, we dedicate a third of our time to code maintenance, which includes tasks such as upgrading dependencies, addressing security vulnerabilities, and removing obsolete code. This is tedious and repetitive. Neglecting regular maintenance can lead to costly outcomes, including unexpected crashes and it makes the codebase more difficult to understand and evolve.

However, automation of these tasks is not always straightforward. Existing tools such as security scanners, feature flag systems warn you about the issues or obsolete code but fall short of automatically rectifying these problems. Tools that upgrade dependencies merely increase the version number, leaving engineers to handle any API compatibility issues. Automating code changes is hard, and the polyglot nature of modern development makes it harder.

In this talk, we will delve into code rewriting techniques such as pattern matching, program analysis, and AI. We will illustrate how we leveraged the complementing power of these tools to generate over 1800 automated pull requests, eliminating or refactoring more than 500,000 lines of code. In this talk, you will also learn how to harness the power of these tools to drive down tech debt, ensuring your apps are not only functional but also future-proof.

Speaker Bio

I’m a software engineer at Gitar , where I develop program analysis and refactoring tools. My current focus is on developing multi-language AST analysis and refactoring tools. My research interests broadly include source code mining and program transformations. I am also interested in developing advanced tooling for improving and speeding up the code reviews. Prior to Gitar I worked at Uber’s Programming Systems Research Group, and prior to that I got my Ph.D. from Oregon State University.