• go to Geoffrey E Hinton's profile page
  • go to Edwin Catmull's profile page
  • go to Frederick Brooks's profile page
  • go to A. J. Perlis 's profile page
  • go to Pat Hanrahan's profile page
  • go to Douglas Engelbart's profile page
  • go to Michael O. Rabin 's profile page
  • go to Richard W. Hamming's profile page
  • go to Sir Tim Berners-Lee's profile page
  • go to Vinton Cerf's profile page
  • go to Alfred V Aho's profile page
  • go to John Backus 's profile page
  • go to Charles P. Thacker's profile page
  • go to Dennis M. Ritchie 's profile page
  • go to Silvio Micali's profile page
  • go to Alan Kay's profile page
  • go to Charles W Bachman's profile page
  • go to Robert W. Floyd's profile page
  • go to Niklaus E. Wirth's profile page
  • go to John L Hennessy's profile page
  • go to William Kahan's profile page
  • go to Adi Shamir's profile page
  • go to Ivan Sutherland's profile page
  • go to Ronald L Rivest's profile page

John Cocke DL Author Profile link

United States – 1987
Short Annotated Bibliography


John Cocke rarely published research papers, relying instead on personal contacts and internal IBM reports to disseminate his ideas. The following published selections give just an indication of his work.

  1. Cocke, John, “The search for performance in scientific processors: the Turing Award lecture,” Communications of the ACM, Vol. 31, Num. 3, March 1988, pp. 250-253. Available here.  In this Turing Award lecture, Cocke describes the three most interesting projects that he was involved with at IBM: Stretch, the Advanced Computer system (ACS) and the IBM 801 computer.
  2. Cocke, J. and V. Markstein, “The evolution of RISC technology at IBM” IBM Journal of. Research and Development, Vol. 34, Num. 1, January 1990, pp. 4-11.  This paper traces the evolution of IBM RISC architecture from its origins in the 1970s at the IBM Thomas J. Watson Research Center to the IBM RISC System/6000® computer.
  3. Allen, F. E. and J. Cocke, “A program data flow analysis procedure,” Communications of the ACM, Vol.  19, Num. 3, March 1976, pp. 137-147. Available here.  This paper describes a "definition-use" data flow analysis on control-flow graphs that is particularly effective. It features a graph interval decomposition of the control flow graph, and the use of bit vectors as an efficient representation for sets. An appendix presents an implementation of the algorithm in PL/I.
  4. Cocke, John and Jacob T. Schwartz, Programming Languages and their Compilers, Courant Institute of Mathematical Sciences, New York University, April 1970.  This book devotes more than 200 pages to optimization algorithms. It included many of the now familiar techniques such as redundant code elimination and strength reduction