A computer-implemented method for allowing modification of a region of original code of a computer program, the method comprising: annotating a region of original code for extraction with a compiler directive; and compiling code including the original code and the compiler directive, wherein the compiler directive causes the annotated region of the original code to be extracted, stored in a separate file, and linked to a function call at a position in the original code from which the extracted region was extracted; and wherein the compiler instruments the remaining original code to allow starting and ending working sets to be saved.