Bibliography

  1. B. W. Kernighan, Some Graph Partitioning Problems Related to Program Segmentation, Princeton University, 1969, Ph.D. Dissertation.
  2. B. W. Kernighan, Optimal Segmentation Points for Programs, Proc. ACM Conf. on Operating Systems Principles, Vol. 2, October 1969.
  3. B. W. Kernighan and S. Lin, An Efficient Heuristic Procedure for Partitioning Graphs, Bell Sys. Tech. J., Vol. 49, 2, pp. 291-308, 1970.
  4. B. W. Kernighan, Optimal Partitions for a Class of Subroutine Graphs, Proc. 4th Princeton Conf. on Information Sciences and Systems, pp. 350-354, 1970.
  5. B. W. Kernighan and S. Lin, Partitioning Graphs, Bell Laboratories Record, Vol. 48, 1, pp. 8-12, 1970.
  6. B. W. Kernighan and S. Lin, A Heuristic Technique for Solving a Class of Combinatorial Optimization Problems, Proc. 5th Princeton Conf. on Information Science and Systems, pp. 210-213, 1971.
  7. B. W. Kernighan, Optimal Sequential Partitions of Graphs, J. Assoc. Comp. Mach., Vol. 18, 1, pp. 34-40, 1971.
  8. B. W. Kernighan and S. Lin, Method of Minimizing the Interconnection Cost of Linked Objects, US Patent 3,617,714, November 2 1971.
  9. B. W. Kernighan, P. J. Plauger and D. J. Plauger, On Comparing Apples and Oranges or My Machine is Better Than Your Machine, Performance Eval. Rev., Vol. 1, 3, pp. 16-20, 1972.
  10. D. G. Schweikert and B. W. Kernighan, A Proper Model for the Partitioning of Electrical Circuits, Proc. 9th Design Automation Workshop, pp. 57-62, 1972.
  11. S. C. Johnson and B. W. Kernighan, Remark on CACM Algorithm 397, Comm. Assoc. Comp. Mach., Vol. 5, 6, pp. 469, 1972.
  12. B. W. Kernighan, Book Review: Systems Programming by J. J. Donovan, IEEE Trans. on Computers, Vol. C-22, 4, pp. 430-431, 1973.
  13. S. Lin and B. W. Kernighan, An Effective Heuristic Algorithm for the Traveling-Salesman Problem, Operations Research, Vol. 21, 2, pp. 498-516, March-April 1973.
  14. B. W. Kernighan, D. G. Schweikert and G. Persky, An Optimum Channel-Routing Algorithm, Proc. 10th Design Automation Workshop, pp. 50-59, 1973.
  15. B. W. Kernighan and P. J. Plauger, Programming Style for Programmers and Language Designers, Proc. IEEE Symp. on Software Reliability, pp. 148-154, 1973.
  16. B. W. Kernighan and P. Hamilton, Synthetically Generated Performance Test Loads for Operating Systems, Proc. 1st SIGME Symp. on Measurement and Evaluation Palo Alto Calif., pp. 121-126, February 1973.
  17. B. W. Kernighan, Remark on CACM Algorithm 422, Minimal Spanning Tree, Comm. Assoc. Comp. Mach., Vol. 16, 7, pp. 448, July 1973.
  18. B. W. Kernighan and S. Lin, Heuristic Solution of a Signal Design Optimization Problem, Bell Sys. Tech. J., Vol. 52, 7, pp. 1145-1159, September 1973.
  19. B. W. Kernighan and P. J. Plauger, The Elements of Programming Style, McGraw-Hill, New York, 1974.
  20. B. W. Kernighan and P. J. Plauger, Programming Style, ACM SIGCSE Bull., Vol. 6, 1, pp. 90-96, February 1974.
  21. B. W. Kernighan, RATFOR - A Rational Fortran, Workshop on Fortran Preprocessors Pasadena Calif., pp. 3, November 1974.
  22. B. W. Kernighan and P. J. Plauger, Programming Style: Examples and Counterexamples, Comp. Surveys, Vol. 6, 4, pp. 303-319, December 1974.
  23. Brian W. Kernighan and Lorinda L. Cherry, A System for Typesetting Mathematics, Communications of the ACM, Vol. 18, 3, pp. 151-157, 1975.
  24. B. W. Kernighan, RATFOR - A Preprocessor for a Rational Fortran, Software Practice Experience, Vol. 5, 4, pp. 395-406, October 1975.
  25. B. W. Kernighan and P. J. Plauger, Software Tools, Addison-Wesley, Reading Mass., 1976.
  26. B. W. Kernighan, Improving Program Readability, Canadian Information Processing Society Conference, Montreal., May 1976.
  27. M. E. Lesk and B. W. Kernighan, Computer Typesetting of Technical Journals on UNIX, Proc. AFIPS NCC, Vol. 46, pp. 879-888, June 1976.
  28. B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall, Englewood Cliffs New Jersey, 1978.
  29. B. W. Kernighan, M. E. Lesk and Ossanna Jr. J. F., Document preparation, Bell System Technical Journal, Vol. 57, 2, pp. 2115-2135, 1978.
  30. B. W. Kernighan and P. J. Plauger, The Elements of Programming Style 2nd Edition, McGraw Hill, New York New York, 1978.
  31. B. W. Kernighan, M. E. Lesk and J. F. Ossanna, UNIX Time-Sharing System: Document Preparation, Bell Sys. Tech. J., Vol. 57, 6, pp. 2115-2135, 1978.
  32. D. M. Ritchie, S. C. Johnson, M. E. Lesk and B. W. Kernighan, UNIX Time-Sharing System: The C Programming Language, Bell Sys. Tech. J., Vol. 57, 6, pp. 1991-2019, 1978.
  33. B. W. Kernighan and John R. Mashey, The UNIX Programming Environment, Software Practice and Experience, Vol. 9, 1, pp. 1-15, 1979 (Also in IEEE Computer Vol. 14 (4) April 1981) .
  34. A. V. Aho, B. W. Kernighan and P. J. Weinberger, AWK - A Pattern Scanning and Processing Language, Software Practice and Experience, Vol. 9, 4, pp. 267-280, April 1979.
  35. B. W. Kernighan and D. M. Ritchie, The C Programming Language, Encyclopedia of Computer Science, 1980.
  36. B. W. Kernighan and D. M. Ritchie, The UNIX Time-Sharing System, Encyclopedia of Computer Science, 1980.
  37. B. W. Kernighan, Production of the SIGOA Newsletter, SIGOA Notices, Vol. 1, 1, March 1980.
  38. B. W. Kernighan, Book Review: TEX and Metafont: New Directions in Typesetting, Computing Reviews, 1981.
  39. M. D. McIlroy and B. W. Kernighan, Comment on Ledgard Whiteside Singer and Seymour Paper, CACM, 1981 (Letter to Editor) .
  40. B. W. Kernighan and P. J. Plauger, Software Tools in Pascal, Addison-Wesley, 1981.
  41. B. W. Kernighan, Why Pascal is not my Favorite Programming Language, Bell Labs Computing Science Technical Report 100, April 1981, (Reprinted in Comparing and Assessing Programming Languages Ed. A. Feuer and N. Gehani, Prentice-Hall 1984) .
  42. B. W. Kernighan, Typesetting Mathematics, Tables and Diagrams, IBM Conference on Text Processing, Bad Neuenahr, Germany, September 1981, (Reprinted in Oldenbourg Verlag Munich 1982) .
  43. B. W. Kernighan, PIC - A Language for Typesetting Graphics, Software Practice & Experience, Vol. 12, pp. 1-20, January 1982.
  44. B. W. Kernighan and S. P. Morgan, The Unix Operating System: A Model for Software Design, Science, Vol. 215, 12, February 1982.
  45. B. W. Kernighan and M. E. Lesk, Unix Document Preparation, Document Preparation Systems, Ed. J. Nievergelt, pp. 1-20, North Holland Publishing Co., 1982.
  46. B. W. Kernighan, Review of A Programmable Text Editor by C. W. Fraser, Computing Reviews, January 1983.
  47. S. C. Johnson and B. W. Kernighan, The C Language and Models for Systems Programming, BYTE, pp. 48-60, August 1983.
  48. B. W. Kernighan, The Unix System and Software Reusability, Proc. Workshop on Software Reusability, pp. 235-239, Newport RI, September 1983 (Reprinted in IEEE Trans. on Software Engineering Vol SE-10 (5) pp. 513-518 September 1984) .
  49. A. E. Dunlop and B. W. Kernighan, A Placement Procedure for Standard-cell VLSI Circuits, Proc. ICCAD, Santa Clara CA, September 1983 (Also IEEE Trans. on Computer-Aided Design CAD-4(1) pp. 92-98 January 1985) .
  50. B. W. Kernighan, The C Programming Language, IEEE Potentials Magazine, November 1983.
  51. B. W. Kernighan and R. Pike, The Unix Programming Environment, Prentice-Hall Inc., 1984.
  52. B. W. Kernighan, The Unix Document Preparation Tools - A Retrospective, Proc. PROTEXT I Conf., Dublin Ireland, October 1984.
  53. B. W. Kernighan and R. Pike, Program Design in the Unix System Environment, BLTJ, Vol. 63, 8 Part 2, pp. 1595-1606, October 1984.
  54. B. W. Kernighan, Why Pascal is Not My Favorite Programming Language, Comparing and Assessing Programming Languages, Ed. A. Feuer and N. Gehani, Prentice-Hall, 1984 (Bell Labs Computing Science Technical Report 100 April 1981) .
  55. B. W. Kernighan, AWK as a General-Purpose Programming Language, Proc EUUG, Copenhagen Denmark, September 1985.
  56. B. W. Kernighan, Recent Work in Unix Document Preparation Tools, Proc EUUG, Copenhagen Denmark, September 1985.
  57. J. L. Bentley and B. W. Kernighan, GRAP - A Language for Statistical Display, Computer Science and Statistics: 18th Symposium on the Interface, pp. 63-68, Fort Collins CO, March 1986.
  58. A. E. Dunlop and B. W. Kernighan, Placement of Components on Circuit Substrates, US Patent 4,577,276, March 1986.
  59. B. W. Kernighan, Beyond Unix, Unix Pacific Technology Seminar, Tokyo, July 1986 (Reprinted in UNIX System Software Readings Prentice-Hall 1988) .
  60. J. L. Bentley and B. W. Kernighan, GRAP -A Language for Typesetting Graphs, CACM, Vol. 29, 8, pp. 782-792, August 1986.
  61. J. L. Bentley, L. W. Jelinski and B. W. Kernighan, CHEM - A Program for Phototypesetting Chemical Structure Diagrams, Computers and Chemistry, Vol. 11, 4, pp. 281-297, 1987.
  62. J. L. Bentley and B. W. Kernighan, A System for Algorithm Animation, Fourth UNIX Computer Graphics Workshop, Cambridge MA, October 1987.
  63. A. V. Aho, B. W. Kernighan and P. J. Weinberger, The AWK Programming Language, Addison-Wesley, 1988.
  64. B. W. Kernighan and D. M. Ritchie, The C Programming Language 2nd edition, Prentice-Hall, 1988.
  65. J. L. Bentley and B. W. Kernighan, Tools for Printing Indexes, Electronic Publishing-Origination Dissemination and Design, Vol. 1, 1, pp. 3-18, April 1988.
  66. B. W. Kernighan and D. M. Ritchie, The State of C, BYTE, Vol. 13, 8, pp. 205-210, August 1988.
  67. B. W. Kernighan and C. J. Van Wyk, Page Makeup by Postprocessing Text Formatter Output, Computing Systems, Vol. 2, 2, pp. 103-132, Spring 1989.
  68. B. W. Kernighan, The UNIX System Document Preparation Tools: A Retrospective, AT&T Technical Journal, Vol. 68, 4, pp. 5-20, August 1989.
  69. R. Fourer, D. M. Gay and B. W. Kernighan, A Modeling Language for Mathematical Programming, Management Science, Vol. 36, 5, pp. 519-554, May 1990.
  70. B. W. Kernighan, The UNIX System and Software Productivity, Proc. UKUUG Summer 1990 Conference, pp. 221-231, London, July 1990.
  71. B. W. Kernighan, Issues and Tradeoffs in Document Preparation Systems, Proc. Intl. Conf. on Electronic Publishing (EP90), pp. 1-16, Gaithersburg MD, September 1990.
  72. J. L. Bentley, B. W. Kernighan and C. J. Van Wyk, An Elementary C Cost Model, Unix Review, Vol. 9, 2, pp. 38-48, February 1991.
  73. J. L. Bentley and B. W. Kernighan, A System for Algorithm Animation., Computing Systems, Vol. 4, 1, pp. 5-30, Winter 1991.
  74. B. W. Kernighan, An AWK to C++ Translator, Proc. USENIX C++ Conference, pp. 217-228, Washington DC, April 1991.
  75. R. Fourer, D. M. Gay and B. W. Kernighan, AMPL -- A Modeling Language for Mathematical Programming, The Scientific Press (now part of Wadsworth Publishing), 1993.
  76. J. L. Bentley, M. F. Fernandez, B. W. Kernighan and N. L. Schryer, Template-driven Interfaces for Numerical Subroutines, ACM TOMS, Vol. 19, 3, pp. 265-287, 1993.
  77. R. Fourer, D. M. Gay and B. W. Kernighan, An Introduction to the AMPL Modeling Language for Mathematical Programming, Mathematech, Vol. 1, 1, pp. 49-56, Spring 1994.
  78. S. J. Fortune, D. M. Gay, B. W. Kernighan, O. Landron, R. A. Valenzuela and M. H. Wright, WISE Design of Indoor Wireless Systems: Practical Computation and Optimization, IEEE Computational Science & Engineering, Vol. 2, 1, pp. 58-68, Spring 1995.
  79. B. W. Kernighan, Experience with Tcl/Tk for Scientific and Engineering Visualization, Proc. Tcl/Tk Workshop 95, pp. 269-278, Toronto, Ontario, July 1995.
  80. S. J. Fortune, D. M. Gay, B. W. Kernighan, O. Landron, R. A. Valenzuela and M. H. Wright, Prediction Of Indoor Electromagnetic Wave Propagation For Wireless Indoor Systems, US Patent 5,450,615, September 12 1995.
  81. B. W. Kernighan and C. J. Van Wyk, Extracting Geometric Information from Architectural Drawings, Workshop on Applied Computational Geometry, pp. 167-176, Philadelphia PA, May 27-28 1996 (Reprinted in Springer Lecture Notes in Computer Science Vol 1148) .
  82. B. W. Kernighan and C. J. Van Wyk, Timing Trials Or the Trials of Timing: Experiments with Scripting and User-interface Languages, Software Practice and Experience, Vol. 28, 8, pp. 819-843, July 1998.
  83. B. W. Kernighan and R. Pike, The Practice of Programming, Addison-Wesley, 1999.
  84. B. W. Kernighan and R. Pike, Regular Expressions: Languages Algorithms and Software, Dr. Dobbs Journal, pp. 19-22, April 1999 (Excerpted from The Practice of Programming) .
  85. B. W. Kernighan and R. Pike, Finding Performance Improvements, IEEE Software, pp. 61-65, March-April 1999 (Excerpted from The Practice of Programming) .
  86. B. S. Baker, K. F. Church, J. F. Helfman and B. W. Kernighan, Methods and Apparatus for Detecting and Displaying Similarities in Large Data Sets, US Patent 5,953,006, September 14 1999.
  87. R. Fourer, D. M. Gay and B. W. Kernighan, AMPL -- A Modeling Language for Mathematical Programming, Second edition. Duxbury, 2002.
  88. R. Fourer, D. M. Gay and B. W. Kernighan, "Design Principles and New Developments in the AMPL Modeling Language," in Modeling Languages in Mathematical Optimization, Josef Kallrath, ed. Kluwer, 2004.
  89. B. W. Kernighan, "Code Testing and its Role in Teaching," ;login:, Vol 31, 2, pp 9-18, April 2006.
  90. B. W. Kernighan, "A Regular Expression Matcher," in Beautiful Code, Oram & Wilson, eds. O'Reilly, 2007.
  91. B. W. Kernighan, "What Should an Educated Person Know about Computers?" IEEE SSCS News, Spring 2008.
  92. Andrew W. Appel, Maia Ginsburg, Harri Hursti, Brian W. Kernighan, Christopher D. Richards, and Gang Tan, "Insecurities and Inaccuracies of the Sequoia AVC Advantage 9.00H DRE Voting Machine," Report submitted to the New Jersey Superior Court in Gusciora v. Corzine, Oct 2008.
  93. B. W. Kernighan, "Sometimes the Old Ways Are Best," IEEE Software, vol. 25, no. 6, pp. 18-19, Nov/Dec, 2008.
  94. Andrew W. Appel, Maia Ginsburg, Harri Hursti, Brian W. Kernighan, Christopher D. Richards, Gang Tan, and Penny Venetis, "The New Jersey Voting-machine Lawsuit and the AVC Advantage DRE Voting Machine," Electronic Voting Technology Workshop / Workshop on Trustworthy Elections, Aug 2009, Montreal.
  95. B. W. Kernighan, D is for Digital, CreateSpace, 2011. Kindle edition 2012.
  96. B. W. Kernighan, Hello World! Opinion Columns from the Daily Princetonian, Kindle edition, 2011. Updated May 2013.
  97. Steven R. Bagley, David F. Brailsford, Brian W. Kernighan, "Revisiting a summer vacation: digital restoration and typesetter forensics," ACM Symposium on Document Engineering, Florence, Sept 2013, pp 3-12.
  98. Alan A. A. Donovan and Brian W. Kernighan, The Go Programming Language, Addison-Wesley, 2016.
  99. Sanjiv Kumar and Brian W. Kernighan, Cloud-based plagiarism detection system performing predicting based on classified feature vectors, US Patent 9,514,417, December 6, 2016.
  100. Brian W. Kernighan, Understanding the Digital World, Princeton University Press, 2017.
  101. Brian W. Kernighan, Millions, Billions, Zillions, Princeton University Press, 2018.
  102. Brian W. Kernighan, Unix: A History and a Memoir, Kindle Direct Publishing, 2019.
  103. William Ughetta and Brian W. Kernighan, "The Old Bailey and OCR: Benchmarking AWS, Azure, and GCP with 180,000 Page Images", ACM Symposium on Document Engineering (DocEng20), San Jose, Sept 2020.
  104. Brian W. Kernighan, Understanding the Digital World, Second Edition, Princeton University Press, 2021.
  105. David F. Brailsford, Brian W. Kernighan and William A. Ritchie, How did Dennis Ritchie Produce his PhD Thesis? A Typographical Mystery, ACM Symposium on Document Engineering (DocEng22), San Jose, Sept 2022. (https://doi.acm.org?doi=3558100.3563839)
  106. Alfred V. Aho, Brian W. Kernighan and Peter J. Weinberger, The AWK Programming Language, Second Edition, Addison-Wesley, 2024.

Sun Aug 20 10:37:10 EDT 2023