Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site gatech.UUCP Path: utzoo!linus!decvax!genrad!grkermit!masscomp!clyde!akgua!gatech!spaf From: spaf@gatech.UUCP (Gene Spafford) Newsgroups: net.lang Subject: Re: Self-modifying code - (nf) Message-ID: <3141@gatech.UUCP> Date: Sun, 8-Jan-84 12:24:16 EST Article-I.D.: gatech.3141 Posted: Sun Jan 8 12:24:16 1984 Date-Received: Mon, 9-Jan-84 07:01:36 EST References: <692@inmet.UUCP> Organization: Georgia Tech School of ICS, Atlanta Lines: 36 This concerns the testing method whereby the code is modified with trap instructions. Richard DeMillo (a faculty member here at Georgia Tech) and some of his students did some work in the field of "program mutation" a while back. This scheme is akin to code modification with traps. Basically, what program mutatiion does is "mutate" the source code and then run a test suite on the mutations. "Viable" mutations are then saved for further analysis. Mutations are things like changing loop boundaries, re-ordering certain statements, and putting halt statements in sections of code that might never be reached. When a program had undergone a suite of mutation tests, the resulting program which behaved correctly could either be further tested, or compared by a human being. Some mutations might be found to be "benign" and of no further interest, but some mutations might point out flaws in the original coding or sections of code which were never executed. As I understand it, this idea was actually applied to large sets of Cobol and Fortran programs, and may still be in use for some applications (I wasn't involved with the project in any way, so I don't know). Since it goes beyond simply replacing each instruction with a "trap," I thought it might be of interest. The bibliographies to the tech reports might also be of interest. If anybody is interested in more information, I suggest you write to: Richard DeMillo School of Information and Computer Science Georgia Institute of Technology Atlanta, GA 30332 and ask about his program mutation project. -- Off the Wall of Gene Spafford The Clouds Project, School of ICS, Georgia Tech, Atlanta GA 30332 CSNet: Spaf @ GATech ARPA: Spaf.GATech @ CSNet-Relay uucp: ...!{akgua,allegra,rlgvax,sb1,unmvax,ulysses,ut-sally}!gatech!spaf