Sitemap

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

Posts

A Developer’s Guide to Agile Software Development Permalink

less than 1 minute read

Published:

A beginner-friendly introduction to Agile software development, the mindset and principles behind it, and how Agile shapes both the business and the day-to-day development process. Originally published on Medium.

publications

Automatic migration from synchronous to asynchronous JavaScript APIs

Published in OOPSLA, 2021

We present a technique to automatically refactor JavaScript programs using asynchronous APIs to use their asynchronous equivalents using promise-based asynchrony. While the technique is unsound, very few refactoring suggestions resulted in behavioral differences.

Recommended citation: Satyajit Gokhale, Alexi Turcotte, and Frank Tip. Automatic Migration from Synchronous to Asynchronous JavaScript APIs. Proc. ACM Program. Lang. 5, OOPSLA, Article 160 (October 2021), 27 pages.
Download Paper

Optimizing Web Applications Using Declarative Software Rewriting

Published in , 2021

We present Declarative Software Rewriting as an effective technique for automated software refactoring where changes are intrusive and span multiple files. We demonstrate the application of a declarative re-writing approach to performance and security optimization in the following contributions: (i) automatic migration from synchronous to asynchronous JavaScript APIs, (ii) increasing the responsiveness of web applications by introducing lazy loading, (iii) remediating superfluous re-rendering in React applications, and (iv) rewriting WebAssembly binaries to mitigate security vulnerabilities.

Recommended citation: Satyajit Gokhale. Optimizing Web Applications Using Declarative Software Rewriting. Doctoral dissertation, Northeastern University (July 2025), 161 pages.
Download Paper

Increasing the Responsiveness of Web Applications by Introducing Lazy Loading

Published in ASE, 2023

This paper presents an approach for automatically detecting third-party libraries that are not required on application start, and for automatically transforming the application to load such libraries lazily.

Recommended citation: Alexi Turcotte, Satyajit Gokhale, and Frank Tip. 2023. Increasing the Responsiveness of Web Applications by Introducing Lazy Loading. In 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). Kirchberg, Luxembourg. ACM, New York, NY, USA. 12 pages.
Download Paper

The Effecs of Computational Resources on Flaky Tests

Published in TSE, 2024

Have you ever experienced odd program behaviour when running your program in resource-constrained environments? This paper explores this, identifying resource-affected flaky tests (RAFT).

Recommended citation: Denini Silva, Martin Gruber, Satyajit Gokhale, Ellen Arteca, Alexi Turcotte, Marcelo d’Amorim, Wing Lam, Stefan Winter, and Jonathan Bell. 2024. The Effects of Computational Resources on Flaky Tests. IEEE Trans. Softw. Eng. 50, 12 (Dec. 2024), 3104–3121. https://doi.org/10.1109/TSE.2024.3462251
Download Paper

Remediating Superfluous Re-Rendering in React Applications

Published in ICSE, 2026

React is a ubiquitous front-end JavaScript library that pitches a smart mechanism to determine how much of a web page needs to be re-rendered when a change occurs. There are a few pitfalls that developers can fall into when developing such applications, and in this work we propose a set of anti-patterns and fixes to remediate these common isues.

Recommended citation: Farideh Khalili, Satyajit Gokhale, Alexi Turcotte, Dale Xu, and Frank Tip. Remediating Superfluous Re-Rendering in React Applications In Proceedings of the 48th International Conference on Software Engineering (ICSE). Association for Computing Machinery, New York, NY, USA. More information to come.
Download Paper

teaching

Foundations of Information Assurance

Graduate Teaching Assistant, Northeastern University, Khoury College of Computer Sciences, 2020

Graduate teaching assistant for Foundations of Information Assurance at Northeastern University’s Khoury College of Computer Sciences (Jan 2020 – Apr 2020).

Foundations of Software Engineering

Graduate Teaching Assistant, Northeastern University, Khoury College of Computer Sciences, 2023

Graduate teaching assistant for Foundations of Software Engineering at Northeastern University’s Khoury College of Computer Sciences across three semesters — Fall 2020, Spring 2021, and Fall 2023. Supported students with course material, assignments, and projects, and delivered a few class lectures in addition to standard TA responsibilities.