24. The method of claim 21 , further comprising relaxing matching criteria for the code constraints specified by the second scheme and using a Satisfiability Modulo Theory (SMT) solver and the relaxed matching criteria to identify one or more additional modules of program code; and generating additional search results referencing the additional modules of program code and providing the additional search results to the user.
24. The method of claim 21 , further comprising relaxing matching criteria for the code constraints specified by the second scheme and using a Satisfiability Modulo Theory (SMT) solver and the relaxed matching criteria to identify one or more additional modules of program code; and generating additional search results referencing the additional modules of program code and providing the additional search results to the user. 25. The method of claim 24 , wherein the additional modules represent modules that approximately match the input-output constraints.