Inside source code crawler world: the evolution of searching, mining and retrieving of software components