Difference between revisions of "Large-scale progamming language detection (internship)"

From Software Heritage Wiki
Jump to: navigation, search
m
Line 8: Line 8:
 
source code to date: about 4 billion unique files and 1 billion unique commits
 
source code to date: about 4 billion unique files and 1 billion unique commits
 
coming from more than 70 million development projects.
 
coming from more than 70 million development projects.
 +
Detecting the programming language of each individual source code file at this
 +
scale is no easy feat.
  
Detecting the programming language of each individual source code file at this
+
The goal of this internship is, first, to review
scale is no easy feat. The goal of this internship is, first, to review
 
 
state-of-the-art techniques and research results on large-scale detection of
 
state-of-the-art techniques and research results on large-scale detection of
 
programming languages, to assess which ones are good candidates for application
 
programming languages, to assess which ones are good candidates for application

Revision as of 11:39, 20 January 2018

Context: Software Heritage is an ambitious research project whose goal is to collect, preserve in the very long term, and share the whole publicly accessible Free/Open Source Software (FOSS) in source code form.

Description: The Software Heritage archive has assembled the largest public collection of source code to date: about 4 billion unique files and 1 billion unique commits coming from more than 70 million development projects. Detecting the programming language of each individual source code file at this scale is no easy feat.

The goal of this internship is, first, to review state-of-the-art techniques and research results on large-scale detection of programming languages, to assess which ones are good candidates for application to the Software Heritage archive; second, practically experiment with (a subset of) the chosen techniques on (a subset of) the Software Heritage archive to quantitatively compare their effectiveness.

Desirable skills to obtain this internship:

  • Python development
  • basic statistics for data analysis
  • working knowledge of one of the following would be a plus:
    • natural language processing
    • machine learning
    • GNU R

Workplace: Inria Paris

Environnement: you will work shoulder to shoulder with all members of the Software Heritage team, and you will have a chance to witness from within the construction of the ultimate source code archive.

Internship mentors:

  • Roberto Di Cosmo <roberto@dicosmo.org>
  • Stefano Zacchiroli <zack@upsilon.cc>