'''Cheney's algorithm''', first described in a 1970 [[Association for Computing Machinery|ACM]] paper by C.J. Cheney, is a "stop and copy" method of [[garbagetracing collection (computer science)|garbage collection]] in computer software systems. In this scheme, the [[Memory management#Dynamic memory allocation|heap]] is divided into two equal halves, only one of which is in use at any one time. Garbage collection is performed by copying live objects from one semispace (the from-space) to the other (the to-space), which then becomes the new heap. The entire old heap is then discarded in one piece. It is an improvement on the previous [[stop and copy]] technique.{{fact}}