Communications of the ACM
A Computer Model of Skill Acquisition
A Computer Model of Skill Acquisition
A Discipline of Programming
Knowledge about programs: A model and case study
Proceedings of the international conference on Reliable software
Reasoning by analogy with applications to heuristic problem-solving: a case study
Reasoning by analogy with applications to heuristic problem-solving: a case study
Self-redefinition as a program manipulation strategy
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
IEEE Transactions on Software Engineering
Evolutionary testing in the presence of loop-assigned flags: a testability transformation approach
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Testability transformation: program transformation to improve testability
Formal methods and testing
FlagRemover: A testability transformation for transforming loop-assigned flags
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
A programmer spends more time modifying already existing programs than constructing original ones. An attempt is made to formulate techniques of program modification, whereby a program that achieves one result can be transformed into a new program that uses the same principles to achieve a different goal. For example, a program that uses the binary search paradigm to divide two numbers may be modified to calculate the square-root of a number in a similar manner.Program debugging is considered as a special case of modification if a program computers wrong results, it must be modified to achieve the intended results The application of abstract program schemata to concrete problems is also viewed from the perspective of modification techniques.We, have embedded this approach in a running implementation; our methods are illustrated with several examples that have been performed by it.