/images/avatar.png

LSC - Large scale code changes

First, there’s some essential reading in the excellent Google SWE Book: Large-Scale Changes chapter. A key point being brought up by Adam Bender: Today it is common for a double-digit percentage (10% to 20%) of the changes in a project to be the result of LSCs, meaning a substantial amount of code is changed in projects by people whose full-time job is unrelated to those projects. Without good tests, such work would be impossible, and Google’s codebase would quickly atrophy under its own weight.

Modify after write

A “modify after write” error refers to a situation where a program or process attempts to modify data after it has been written or committed to a particular location or state. In Go terms, this can mean that a field may be modified after the struct has been written to the database. When debugging a login issue, we found a field was not updated in the database. On investigation, I found that a field in the user data was being modified after it had been saved to the database.

Welcome to Semgrep Code Intelligence

Hello, my name is Tit Petric. I’m a Senior Engineer working on Go code at Tyk Technologies. I’m working on back-end code for the open source Tyk API Gateway and the Tyk Dashboard API management product.

I’ve started the Semgrep Code Intelligence project to collect test utilities, toolings, reports, code review feedback, experiments and other development efforts aimed to improve the process around development and the overall vibe of the codebase. Knowing what to fix requires knowing what is there and how it’s coupled.