Chapter. Artifact Representation Techniques for Large-Scale Software Search Engines