Title :
Evolving assembly programs: how games help microprocessor validation
Author :
Corno, Fulvio ; Sánchez, Ernesto ; Squillero, Giovanni
Author_Institution :
Politecnico di Torino, Italy
Abstract :
Core War is a game where two or more programs, called warriors, are executed in the same memory area by a time-sharing processor. The final goal of each warrior is to crash the others by overwriting them with illegal instructions. The game was popularized by A. K. Dewdney in his Scientific American column in the mid-1980s. In order to automatically devise strong warriors, μGP, a test program generation algorithm, was extended with the ability to assimilate existing code and to detect clones; furthermore, a new selection mechanism for promoting diversity independent from fitness calculations was added. The evolved warriors are the first machine-written programs ever able to become King of the Hill (champion) in all four main international Tiny Hills. This paper shows how playing Core War may help generate effective test programs for validation and test of microprocessors. Tackling a more mundane problem, the described techniques are currently being exploited for the automatic completion and refinement of existing test programs. Preliminary experimental results are reported.
Keywords :
computer games; microcomputers; program assemblers; program testing; time-sharing programs; Core War; evolving assembly programs; machine written program; microprocessor validation; test program generation algorithm; time-sharing processor; Assembly; Automatic testing; Buildings; Circuit testing; Clocks; Computer architecture; Costs; Microprocessors; Silicon; System-on-a-chip; Automatic programming; Core War; evolutionary program generation; games; microprocessor testing;
Journal_Title :
Evolutionary Computation, IEEE Transactions on
DOI :
10.1109/TEVC.2005.856207