The backend story of a large-scale source code navigator

#Codesearch is vital for any tech organization that operates at a large scale, and LinkedIn depends heavily on it. Engineers at LinkedIn use codesearch frequently to see how certain #APIs are being used, how configurations of certain services look, how some of the #classes / #methods / #schema/etc. are defined, and more. Codesearch helps the engineers #navigate through source #code without needing the code to be checked out on their local machine.


Source: Linkedin

I know a few people out there that would be very envy of the Linkedin engineering team, being able to navigate legacy code in an intelligent way. This one is for you.


The code navigator system can:

  • Find matches for #queries very quickly, helping users to design narrower queries;
  • Have relevance #logic that #ranks important results higher;
  • Support a rich query language that can solve different use cases;
  • Resolve references if corresponding definitions are available in the corpus;
  • Support #autocomplete to show matching entities to users (e.g., without them having to type complete text);
  • Be integrated with #IDE and #CLI


In below link, you will find an article directly from the source, explaining the backend of the system, and how #Java, #Python, #Ruby, #Scala, #JavaScript, #Spring, #Pegasus, and #Avro files are navigated, #analyzed and found

Source: JARVIS: Helping LinkedIn Navigate its Source Code | LinkedIn Engineering