Publications by M. D. McIlroy

Complete publication list: bibtex or PDF

Selected publications

Languages and systems
M. D. McIlroy, Macro instruction extension of compiler languages, CACM 3 (1960) 214-220
A. G. Hume and M. D. McIlroy, Unix Research System, 10th Edition, Saunders College Publishing, Philadelphia (1990) ISBN 0-03-047352-5 (Vol. I), 0-03-047329-5 (Vol. II)
M. D. McIlroy, A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, AT&T Bell Laboratories Computing Science Technical Report #139 (1987) Scanned and OCR versions
J. Bentley, D. E. Knuth and M. D. McIlroy, Programming pearls, CACM 29 (1986) 471-483. Literate program and critique

Security
M. D. McIlroy, Virology 101, Computing Systems 2 (1989) 173-181, gzipped PostScript
D. D. Clark et al (including M. D. McIlroy), Computers at Risk, National Academy Press, Washington (1991)
M. D. McIlroy and J. A. Reeds, The IX Multilevel-Secure UNIX System AT&T Bell Laboratories CSTR #163 (1992). A compendium of papers

Graphics and maps
M. D. McIlroy, Best approximate circles on integer grids, ACM Trans. on Graphics, 2 (1983) 237-263
M. D. McIlroy, A note on discrete representation of lines, AT&T Tech. J., 64 (1985) 481-490
M. D. McIlroy, Getting raster ellipses right, ACM Transactions on graphics 11 (1992) 259-275. Preprinted in There is no royal road to programming: a trilogy on raster ellipses and programming methodology, AT&T Bell Laboratories CSTR #155 (1990), PDF
M. D. McIlroy, Number theory in computer graphics, in S. A. Burr (ed.), The Unreasonable Effectiveness of Number Theory, Proceedings of Symposia in Applied Mathematics 46, Am. Math. Soc., Providence (1992) 105-121
M. Douglas McIlroy, Wallpaper maps, in Cliff B. Jones and John L. Lloyd, eds., Dependable and Historic Computing: Essays Dedicated to Brian Randell on the Occasion of His 75th Birthday (2011) Springer LNCS volume 6875. Expanded version

Combinatorics
M. D. McIlroy. The number of 1’s in binary integers: bounds and extremal properties. SIAM J. Computing 3 (1974) 255–261
M. D. McIlroy. The number of states of a dynamic storage allocation system, Computer Journal 25 (1982) 388–392
M. Douglas McIlroy, Reasoning about the Conant gasket, Dartmouth College TR2023-1003 (2023) PDF

Algorithms
P. M. McIlroy, K. Bostic and M. D. McIlroy, Engineering radix sort, Computing Systems 6 (1993) 5-27 PDF
M. D. McIlroy, A killer adversary for quicksort, Software--Practice and Experience 29 (1999) 341-344, PDF preprint
M. D. McIlroy, The music of streams, Information Processing Letters 77 (2001) 189-195. Power series PDF preprint
M. D. McIlroy, Enumerating the strings of regular languages, J. Functional Programming 14 (2004) 503-518 PDF preprint Haskell code

Text processing
M. D. McIlroy, Synthetic English speech by rule, Bell Telephone Laboratories CSTR #14 (1974) tar file of scanned pages (11MB) PDF
J. W. Hunt and M. D. McIlroy, An algorithm for differential file comparison, Bell Telephone Laboratories CSTR #41 (1976), PDF (text edited from OCR, figures redrawn). Erratum: coauthor of referenced Szymanski paper is J. W. Hunt, not H. W. Hunt III.
M. D. McIlroy, Development of a spelling list, IEEE Trans. on Communications 30 (1982) 91-99, PDF preprint

Milieu
M. D. McIlroy, Mass produced software components, in Proc. NATO Software Eng. Conf., Garmisch, Germany (1968) 138-155, text
W. S. Brown, B. D. Holbrook, and M. D. McIlroy, Computer science [at Bell Labs], in S. Millman (ed.) A History of Engineering and Science in the Bell System, Communication Sciences (1925-1980), AT&T Bell Laboratories (1984).
J. Hartmanis et al (including M. D. McIlroy), Computing the Future, National Academy Press, Washington (1994)
T. Hughes et al (including M. D. McIlroy), Funding a Revolution: Government Support for Computing Research, National Academy Press, Washington (1998)


Modified January 11, 2023