1. A system comprising: a repository to store source code text, the source code text comprising a plurality of sections; an indexer module which, if executed, instructs at least one processor to associate each section with a descriptor comprising a natural language description of a respective section; and a searcher module which, if executed, instructs at least one processor to read a request for a particular type of source code and to obtain each section of the stored source code text whose descriptor at least partially matches the request, each obtained section being adaptable for producing at least some of the type of source code requested.