Michael is a Software Engineer at Meta, working on developer productivity efforts. He has been working on a C++ code indexer for Glean, a system for collecting, deriving and querying facts about source code.
Code indexing is an important technology the powers many essential developer tools. Code navigation in IDEs, to symbol search, to semantic analysis tools such as dead code elimination, etc. Glean is a system built at Meta to accurately index multiple languages of very large codebases. This includes the very large C++ codebase at Meta, but also the build system (Buck2) definitions, and the RPC protocol (Thrift) definitions which we can tie together to get an understanding of the full codebase. This talk will focus on the the intricacies of indexing C++ itself, such as collecting accurate information of macro definitions […]