CERN

Sourcegraph is extremely valuable for what we do. It enables us to easily clean up deprecated APIs and estimate the risks and costs of our APIs evolution.

Vito Baggiolini, Senior Software Engineer, CERN

Sourcegraph empowers CERN to tackle code reuse and code changes in mission-critical applications

Physicists at CERN use some of the world's most powerful particle accelerators to discover what the universe is made of and how it works. Over the last 18 years, the organization's Java codebase for accelerator controls has grown to roughly 15 million lines of code. CERN operates within a self-contained software system that is developed and maintained by nearly 300 people, with all of its code in Sourcegraph. To achieve efficient development and safe upgrades, developers require a tool that lets them quickly and effectively search through their entire codebase so they can easily change and reuse code where necessary.

Large Hadron Collider, image by CERN
Large Hadron Collider, image by CERN

Avoiding reinventing the wheel with universal code search

Sourcegraph empowers developers at CERN to reuse code that already exists, avoiding duplication and saving developers countless hours redoing work that has already been done. It takes search one step further by "understanding" the structure of the code (as opposed to just "seeing" it as raw text), enabling the organization to do semantic searches that yield accurate results.

I was recently tasked with something that I, admittedly, had no idea how to do, but I was sure that someone at CERN must've already done it at some point. Sourcegraph universal code search took me directly to the code I was looking for so I could repurpose it. It's also an invaluable tool for enabling our developers to learn from one another.

Vito Baggiolini
Chris Roderick, Applications and Services Section Leader, CERN

Sourcegraph helps us with technical debt reduction and the consolidation of our codebase by letting us avoid duplication, spot the usage of deprecated APIs or internal (non-API) library code, and identify general purpose code in specific projects (such as utility classes) that can be factored out and shared in a core library.

Chris Roderick, Applications and Services Section Leader, CERN

Tackling mission-critical code changes with ease

Sourcegraph lets us make informed decisions on how to evolve our codebase. For example, a library owner knows exactly how all other developers use their API, and can therefore make educated decisions on how to evolve it.

Chris Roderick

The Large Hadron Collider (LHC) at CERN features five-year operational periods and the software must be stable during this time. Sourcegraph helps developers make small, backward-compatible changes and ensures that any change made by a given team to one part of the codebase doesn't break (or require adaptations of) dependent code written by other people. It's essential that these changes are done correctly, as mistakes can stop the operation of the CERN accelerators and waste precious time for physics research.

The LHC also features upgrade periods of 1-2 years, during which developers typically make more radical changes. During these periods, Sourcegraph lets users identify redundant code (e.g., utility methods) and assess the cost/benefit of doing breaking API changes.

Our solution prior to Sourcegraph didn't let us do detailed and precise searches on how and where a method of a specific class is used. As a result, we were unable to measure the impact that a planned API change would have on the rest of our huge codebase. This put us in a position where we weren't making necessary changes because we were unsure of the effect they would have.

Vito Baggiolini

Universal code search lets developers at CERN make changes to their code, including those with potentially costly implications if done incorrectly, with ease and confidence. As the organization continues to uncover fascinating insights into how our universe works, Sourcegraph serves as its go-to tool for code reuse and code change management.

Try Sourcegraph on your code

Help your team search, write, and understand code faster with the code intelligence platform.