1. A method for reuse of a software code, the method comprising the steps of: (a) a processor of a computer system obfuscating the software code from an original state of the software code; (b) presenting the obfuscated software code to a first participant and a second participant; (c) collecting communications between the first participant and the second participant, wherein the communications comprise questions about the obfuscated software code posed by the first participant to the second participant, answers provided by the second participant to the questions, and guesses by the first participant of a functionality of the obfuscated software code; (d) the processor generating associations between the collected communications and respective portions of the obfuscated software code; (e) storing the generated associations in a database of the computer system; (f) after the storing, the processor determining that the second participant has not indicated that the first participant understands the obfuscated software code, and in response, partially reversing the obfuscated software code to transform the obfuscated software code to a partially obfuscated software code that is closer to the original state of the software code than the obfuscated software code generated in step (a), and repeating steps (b), (c), (d) and (e) with the partially obfuscated software code instead of the obfuscated software code generated in step (a); and (g) after the partially reversing in step (f), the processor determining if the second participant has indicated that the first participant understands the partially obfuscated software code, and if not, further reversing the partially obfuscated software code to transform the partially obfuscated software code to the original state of the software code or closer to the original state of the software code than the partially obfuscated software code generated in step (f), and repeating steps (b), (c), (d) and (e) with the further reversed partially obfuscated software code instead of the partially obfuscated software code generated in step (f).
1. A method for reuse of a software code, the method comprising the steps of: (a) a processor of a computer system obfuscating the software code from an original state of the software code; (b) presenting the obfuscated software code to a first participant and a second participant; (c) collecting communications between the first participant and the second participant, wherein the communications comprise questions about the obfuscated software code posed by the first participant to the second participant, answers provided by the second participant to the questions, and guesses by the first participant of a functionality of the obfuscated software code; (d) the processor generating associations between the collected communications and respective portions of the obfuscated software code; (e) storing the generated associations in a database of the computer system; (f) after the storing, the processor determining that the second participant has not indicated that the first participant understands the obfuscated software code, and in response, partially reversing the obfuscated software code to transform the obfuscated software code to a partially obfuscated software code that is closer to the original state of the software code than the obfuscated software code generated in step (a), and repeating steps (b), (c), (d) and (e) with the partially obfuscated software code instead of the obfuscated software code generated in step (a); and (g) after the partially reversing in step (f), the processor determining if the second participant has indicated that the first participant understands the partially obfuscated software code, and if not, further reversing the partially obfuscated software code to transform the partially obfuscated software code to the original state of the software code or closer to the original state of the software code than the partially obfuscated software code generated in step (f), and repeating steps (b), (c), (d) and (e) with the further reversed partially obfuscated software code instead of the partially obfuscated software code generated in step (f). 6. The method of claim 1 , wherein in step (g) the determining determines that the second participant has not indicated that the first participant understands the partially obfuscated software code, and wherein the further reversing transforms the partially obfuscated software code to the original state of the software code.