Papers I write

My papers on Programming Methodology are shared at the below link.

Books I read

[1] A. Udaya Shankar, "Distributed Programming: Theory and Practice", Springer-Verlag, 2013

[2] A. V. Aho and J. D. Ullman, "Principles of Compiler Design", Narosa Publishing House, 1993

[3] Andrew S. Tanenbaum, "Computer Networks ", 3rd edition, Prentice Hall of India, 1996

[4] Andrew S. Tanenbaum, "Operating Systems: Design and Implementation ", 2nd edition, Prentice Hall of India, 1997

[5] Barry W. Boehm, "Software Engineering Economics", Prentice Hall, 1981

[6] Bhupendra Singh Chhabra and Amit Chhabra, "8085 Microprocessor and Its Application", Dhanpat Rai Publishing Company,

[7] Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language", 2nd edition, Prentice Hall of India, 1988

[8] David Gries and Fred B. Schneider, "A Logical Approach to Discrete Math", Springer Verlag, 1993

[9] David Gries, "Compiler construction for digital computers", John-Wiley & Sons, 1971

[10] David Gries, "Programming Methodology: A Collection of Articles by members of IFIP WG 2.3", Springer Verlag, 1978

[11] David Gries, "The Science of Programming", Narosa Publishing House, 1981

[12] David Harel, "Computers Ltd.: What They Really Can't Do", Oxford University Press, 2003

[13] David S. Rubin and Richard I. Levin, "Statistics for Management", 5th edition, Prentice Hall of India, 1992

[14] E Balagurusamy, "Programming in ANSI C", 1st edition, Tata Mcgraw Hill, 1992

[15] Edsger W. Dijkstra, "A Discipline of Programming", Prentice Hall, 1976

[16] Eric Newcomer, "Understanding Web Services,  XML,  WSDL,  SOAP,  and UDDI", Pearson Education, 2004

[17] Ernest Nagel and James R. Newman, "Godel's Proof", New York University Press, 2001

[18] Frederick P. Brooks, "The Mythical Man-Month: Essays on Software Engineering ", 2nd edition, Addison-Wesley, 1995

[19] George Polya, "How to solve it", 2nd edition, Princeton University Press, 1957

[20] Grady Booch, "Object-Oriented Analysis and Design with Applications", 2nd edition, Addison-Wesley, 1993

[21] Grerald M. Weinberg, "The Psychology of Computer Programming", Van Nostrand Reinhold, 1971

[22] Irwin Miller and John E. Freund, "Probability and Statistics for Engineers", 3rd edition, Prentice Hall of India, 1985

[23] J.E.Hopcroft and J.D.Ullman, "Introduction to Automata,  Languages and Computation", 1st edition, Narosa Publishing House, 1989

[24] Joe L. Mott,  Abraham Kandel and Theodore P. Baker, "Discrete mathematics for computer scientists & mathematicians", 2nd edition, Prentice Hall of India, 1986

[25] John J. Donovan, "Systems Programming", Mcgraw Hill, 1972

[26] Juraj Hromkovic, "Algorithmic Adventures: From Knowledge to Magic", Springer-Verlag, 2009

[27] Juraj Hromkovic, "Theoretical Computer Science", Springer-Verlag, 2011

[28] Kathleen Jensen and Niklaus Wirth, "PASCAL User Manual and Report ", Narosa Publishing House, 1983

[29] Lance A. Leventhal, "68000 assembly language programming", McGraw-Hill, 1986

[30] Lance A. Leventhal, "Z80 Assembly Language Programming ", OSBORNE/McGraw-Hill, 1980

[31] M. Morris Mano, "Digital Logic and Computer Design", Prentice Hall of India, 2002

[32] Martin Davis, "Engines of Logic", W. W. Norton & Company, 2001

[33] Maurice J. Bach, "The Design of the Unix Operating System", Prentice Hall of India, 1989

[34] Michael A. Miller, "The 68000 Microprocessor: Architecture,  Software,  and Interfacing Techniques", Prentice Hall of India, 1986

[35] Nathan Meyers, "Java Programming On Linux", Waite Group Press, 2000

[36] Niklaus Wirth, "Algorithms + Data Structures = Programs", Prentice Hall of India, 1975

[37] Niklaus Wirth, "Programming in Mdula-2", 3rd print, Springer Verlag, 1985

[38] Ole Johan Dahl,  Edsger Wybe Dijkstra and C. A. R. Hoare, "Structured Programming", Academic Press, 1972

[39] Peter Abel, "IBM PC Assembly Language And Programming", 4th edition, Prentice Hall of India, 1997

[40] R K Venugopal, "Mastering C++", Tata Mcgraw Hill, 1997

[41] R.C. Sharma and Krishna Mohan, "Business Correspondence and Report Writing", 2nd edition, Tata Mcgraw Hill, 1994

[42] Ramez Elmasri and Shamkant B. Navathe, "Fundamentals of Database Systems", 3rd edition, Addison Wesley, 1999

[43] Richard C. Linger,  Harlan D. Mills and B. I. Witt, "Structured Programming: Theory and Practice", Addison-Wesley, 1979

[44] Richard Courant and Herbert Robbins, "What is Mathematics?", Oxford University Press, 1996

[45] Richard Stevens, "Advanced Programming in the UNIX Environment", Addison-Wesley, 1992

[46] Richard Stevens, "UNIX Network Programming", Prentice Hall of India, 1990

[47] Samuel J. Leffler et al., "The Design and Implementation of the 4.3 BSD Unix Operating System", Addison-Wesley, 1989

[48] Scott Meyers, "Effective C++: 50 Specific Ways to Improve Your Programs and Design", 2nd edition, Addison-Wesley, 1997

[49] W. H. J. Feijen and A. J. M. Van Gasteren, "On a method of multiprogramming", Springer-Verlag, 1999

[50] Watts S. Humphrey, "Introduction to the Personal Software Process", Addison-Wesley, 1996

[51] William H. Press et al., "Numerical Recipes in C: The Art of Scientific Computing", 2nd edition, Cambridge University Press, 1992

[52] Yashavant Kanetkar, " Visual C++ Programming", BPB Publications, 2004

[53] Yashavant Kanetkar, "Let Us C", 3rd edition, BPB Publications, 1999

[54] Yashavant Kanetkar, "Unix Shell Programming", BPB Publications, 2003

[55] Yedidyah Langsam,  Moshe J. Augenstein and Aaron M. Tenenbaum, "Data Structures Using C and C++ ", 2nd edition, Prentice Hall of India, 1995

Papers I read

[1] "A new technology for terahertz electronics", Phiar Corporation, 2003

[2] "Barrel Shifters (in FLEX 8000 Devices)", Altera, 1994

[3] "Choosing a DSP processor", Berkeley Design Technology Inc.

[4] "Code, Security, Interface and Include Problems", Klocworks

[5] "IEEE Standard for software reviews", IEEE Std1028-1997

[6] "M-Core ABI Standards Manual", Freescale Semiconductor Inc.

[7] "Memory maps of DSP56652", Freescale Semiconductor Inc.

[8] "Programming Languages - C", ISO/IEC 9899: 1999(E)

[9] "RISC, ARM and M-Core Technologies", Technical Report, Spartan Embedded Technologies, 1997

[10] "Rationale for American National Standard for Information Systems Programming Language - C", 1989

[11] "Reference Manual - M-Core with M210/M210S Specifications"

[12] "The Real Stroustrup Interview", Computer, IEEE, 1998

[13] A. Biliris, S. Dar, N. H. Gehani, "Making C++ Objects persistent: the hidden pointers", "AT&T Bell Labs, John Wiley & Sons", 1993

[14] A. Frank Ackerman et al., "Software inspection: An effective verification process", IEEE Software, 1989

[15] Aaron Falk et al., "Transport Protocols for High Performance", CACM, 2003

[16] Alan J. Perils et al., "Social processes and proof of theorems and programs", CACM, 1979

[17] Alan MacCormack et al., "Trade-offs between Productivity and Quality in selecting software development practices", IEEE Software, 2003

[18] Alastair Dunsmore, Mark Rooper and Murray Wood, "Object oriented Inspection in the face of delocalisation", ICSE, ACM, 2000

[19] Alastair Dunsmore, Mark Rooper and Murray Wood, "Practical code inspection techniques for object oriented system: An experimental Comparison", IEEE Software, 2003

[20] Alastair Dunsmore, Mark Rooper and Murray Wood, "Systematic object oriented inspection - An empirical study", IEEE, 2001

[21] Alastair Dunsmore, Mark Rooper and Murray Wood, "The development and evaluation of three diverse techniques for object oriented code-inspection", ITSE, 2003

[22] Albert B. Schwarzkopf et al., "Effective practices for IT skills staffing", CACM, 2004

[23] Alex Potanin et al., "Scale-free geometry in OO programs", CACM, 2005

[24] Amnon H. Eden and Rick Kazman, "Architecture, Design, Implimentation", IEEE, 2003

[25] Amy S. Bruckman, "Student rresearch and the Internet", CACM, 2005

[26] Ana M. Erosa and Laurie J Henderen, "Taming control flow: A structured approach to eliminating go to Statements", ICCL, May. 1994

[27] Andreas Jedlitschka and Dietmar Pfahl, "Reporting guidelines for controlled experiments in software engineering", IEEE, 2005

[28] Andrei Gorine and Konstantin Knizhnik, "Memory management & Embedded databases", Dr. Dobb's Journal, Dec. 2005

[29] Andrew Koenig and Barbara E. Moo, "Invariants as an intellectual tool", C C++ Users Journal, Feb. 2006

[30] Andrew S. Tanenbaum et al., "Modular system programming in Minix 3", ;login:, Usenix, 2006

[31] Andrew S. Tanenbaum, "Implications of structured programming for machine architecture",

[32] Andrew S. Tanenbaum, "In defence of program testing OR Correctness proof considered harmful", SIGPLAN Noices, 1976

[33] Andrew S. Tanenbaum, Jorrit N. Herder and Herbert Bos, "Can we make operating systems reliable and secure?", "Vrije Universiteit, Amsterdam",

[34] Andy Chou et al., "An empirical study of operating system errors", "Computer System Laboratory, Stanford University",

[35] Aravind Krishnaswamy and Rajiv Gupta, """Mixed width instruction-sets", CACM, 2003

[36] Author, Title, Journal, Vol, Issue, "Press, Place", Month. Year, Page

[37] Barbara Kitchenham et al., "Evaluating guidelines for empirical software engineering studies", ISESE, ACM, 2006

[38] Barbara Kitchenham et al., "Preliminary Guidelines for empirical research in software engineering", ITSE, 2002

[39] Barry Boehm and Victor R. Basili, "Software defect reduction, Top 10 list",

[40] Barry Boehm, "A view of 20th and 21st century software engineering", ICSE, ACM, 2006

[41] Benjamin A. Kuperman et al., "Detection and prevention of stack buffer overflow attacks", CACM, 2005

[42] Benjamin B. M. Shao and Julie Smith David, "The impact of outsourcing on IT workers in developed contries", CACM, 2007

[43] Bert J. Dempsey et al., "Who is an open souce software developer?", CACM, 2002

[44] Bill C. Hardgrave and Deborah J. Armstrong, "Software process improvement: It’s a journey not a destination", CACM, 2005

[45] Bipin Prabhakar, "IT skills in a tough job market", CACM, 2005

[46] Bjarne Stroustrup, "An overview of C++", SIGPLAN Noices, 1986

[47] Bjarne Stroustrup, "What is ""object oriented programming""?", 1991

[48] Bjarne Stroustrup, "Why C++ is not just an OOPL", OOPSLA, ACM, 1995

[49] Brian Fitzgerald et al., "Software development method tailoring at Motorola", CACM, 2003

[50] Brian Fitzgerald, "A critical look at open source", Computer, IEEE, 2004

[51] Brian Henderson-sellers, "Method engineering for OO systems development", CACM, 2003

[52] Brian W. Kernighan, "Why Pascal is not my favourite Programming Language", AT&T Bell Lab., 1981,

[53] Bruce Arden et al., "Criticisms of ALGOL 60", CACM,

[54] Bruce Jacob, "Virtual memory systems and TLB structures", "University of Maryland, CRC Press", 2001

[55] Bruce S. N. Cheung and Robert C. Uzgalis, "Ambiguity in context free grammars", CACM, 1995

[56] Bruno De Bus et al., "Post pass compaction techniques", CACM, 2003

[57] C. A. R. Hoare et al., "Laws of Programming", CACM, 1987

[58] C. A. R. Hoare, "An axiomatic basis for computer programming", CACM, 1969

[59] C. A. R. Hoare, "Communicating sequential processes", CACM, 1978

[60] C. A. R. Hoare, "Proof of a program: FIND", CACM, 1971

[61] C. A. R. Hoare, "The emperor's old clothes", CACM, Feb. 1981

[62] C.A.R. Hoare and Niklaus Wirth, "An axiomatic definition of the programming language PASCAL", Acta Informatica, 1973,

[63] Caper Jones, "Variations in software development practice", IEEE Software, Nov.-Dec. 2003

[64] Carina Andersson and Per Runeson, "A replicated quantitative analysis of fault distribution in complex software systems", ITSE, 2007

[65] Carl Ponder and Bill Bush, "Polymorphism considered harmful", SIGSOFT, ACM, 1994

[66] Casey G. Cegielski, "Who values technology cirtifications?", CACM, 2004

[67] Cheng Lie Hu, "Dataless objects considered harmful", CACM, 2005

[68] Chris F. Kemerer, "Reliability of function point measurement, A field experiment", CACM, 1993

[69] Chuck Walrad and Darrel Strom, "The Importance of branching models in SCM", Computer, IEEE, 2002

[70] Claes Wohlin, "Is prior knowledge of a programming language important for software quality", ISESE, 2002

[71] Cleidson R. B. Dosouza et al., "Management of interdependency in collabotarative software development", ISESE, 2003

[72] Cong-cong Xing et al., "On Pseudo Object Oriented Programming considered harmful", CACM, 2003

[73] D. L. Parnas et al., "Concurrent control with Readers and Writers", CACM, 1971

[74] D. Scotts Brandt and L. Uden, "Insight into mental models of novice internet searchers", CACM, 2003

[75] Dag I. K. Sjoberg et al., "Conducting realistic experiments in software engineering", ISESE, 2002

[76] Dan Saks, "Scope regions in C and C++", Embedded Systems Design, Nov. 2007

[77] Dave Dice and Alex Garthwaite, "Mostly lock-free Malloc", ISMM, ACM, 2002

[78] Dave Thomas and Andy Hunt, "State Machines", IEEE Software, 2004

[79] David A. Patterson and Carlo H. Sequin, "RISC I : A reduced instruction set VLSI computer", IEEE, 1981

[80] David A. Patterson, "Computer Science education in the 21st century", CACM, 2006

[81] David A. Patterson, "Does ACM support matter to conferences or journals?", CACM, 2005

[82] David A. Patterson, "New directions for CACM", CACM, 2006

[83] David A. Patterson, "Offshoring: Finally facts Vs. folklore",

[84] David A. Patterson, "Rescuing our families, our neighbours and ourselves", CACM, 2005

[85] David A. Patterson, "Restoring the popularity of CS", CACM, 2005

[86] David A. Patterson, "Reviving your favourite CS books", CACM, 2006

[87] David A. Patterson, "Robots in the desert, A research parable for our times", CACM, 2005

[88] David A. Patterson, "Stop whinning about outsourcing",

[89] David A. Patterson, "The health of research conferences and the dearth of big idea papers",

[90] David A. Patterson, "Why join ACM", CACM, 2005

[91] David Arnow, "Teaching programming to liberal arts students: Using loop invariants", SIGSCE, ACM, 1994

[92] David Clark, "Mobile processors begin to grow up", Computer, IEEE, 2002

[93] David E. Avisen and Guy Fitzgerald, "Where now for development methodologies?", CACM, 2003

[94] David E. Douglas et al., "OO Curricula in Academic programs", CACM, 2000

[95] David Evans, "Programming the swarm", University of Virginia, 2000

[96] David Gries and Fred B. Schneider, "A new approach to teaching discrete mathematics",

[97] David Gries and Fred B. Schneider, "A new approach to teaching mathematics", TR 94-1411, Cornell University, 1994

[98] David Gries and Fred B. Schneider, "Equational propositional logic", Cornell University, 1994,

[99] David Gries and Fred B. Schneider, "Programming Methodology: Making a Science out of an Art",

[100] David Gries and Jeff Wadkins, "An introduction to proofs of program correctness for teachers of college level introductory programming courses", TR 90-1102, Cornell University, 1990

[101] David Gries, "A note on the standard strategy for developing loop invariants and loops", Technical Report, 1982

[102] David Gries, "An Excercise in proving parallel programs correct", CACM, 1977

[103] David Gries, "An argument, in limerick form, calculated to change the teaching of logic", ISFM, Jun. 2011

[104] David Gries, "An illustration of current ideas on the derivation of correctness proofs and correct programs", ITSE, Dec. 1976

[105] David Gries, "Are formal methods useful for software development?", IEEE, 1992

[106] David Gries, "Educating the programmer: notation, proofs and the development of programs", Technical Report, Cornell University,

[107] David Gries, "Is sometime ever better than always?", TR 78-343, Cornell University, 1978

[108] David Gries, "Teaching calculation and discrimination: A more effective curriculum", CACM, 1991

[109] David Gries, "What Programmers don’t and should know", TR 87-872, Cornell University, 1987

[110] David Gries, "What have we not learned about teaching programming?", Computer, IEEE, 2006

[111] David Gries, "What should we teach in an introductory programming course?", Cornell University,

[112] David Gries, "Where is programming methodology these days?", SIGCSE Bulletin, 2002

[113] David Harel, "Can programming be liberated, Period?", Computer, IEEE, Jan. 2008

[114] David Janzen and Hossein Saiedien, "Test driven development: Concepts, taxonomy and future directions", Computer, IEEE, 2005

[115] David L. Parnas, "On the criteria to be used in decomposing systems into modules", CACM, 1972

[116] David L. Parnas, "On the design and development of program families", ITSE, 1976

[117] David L. Parnas, "Really rethinking 'Formal Methods'", Computer, IEEE, Jan. 2010

[118] David L. Parnas, "Software engineering programs are not computer science programs", IEEE Software, 1999

[119] David L. Parnas, "The Parnas Papers", "University of Victoria, Canada",

[120] David L. Parnas, "The limits of empirical studies of software engineering", ISESE, 2003

[121] David L. Parnas, "The modular structure of complex systems", ITSE, 1985

[122] David P. Darcy and Chris F. Kemerer, "OO metrics in practice", IEEE Software, Nov.-Dec. 2005

[123] David R. Tribble, "Goto statements considered harmful: A retrospective", 2005

[124] David S. Rosenblum, "A practical approach to programming with assertions", ITSE, 1995

[125] David T. Jones et al., "Implementing Virtual Functions...", "US Patent 5, 297, 284", 1994,

[126] Deborah J. Armstrong, "The quarks of object oriented development", CACM, 2006

[127] Deborah K. Smith et al., "Prepare your mind for learning", CACM, 2005

[128] Dennis de Champeaux, "Software engineering considered harmful", CACM, 2002

[129] Dick Fairley, "Making accurate estimates", IEEE Software, 2002

[130] Donald Anselmo et al., "Measuring productivity in the software inductry", CACM, 2003

[131] Donald E. Knuth and Jack N. Merner, "ALGOL 60 Confidential", CACM,

[132] Donald E. Knuth, "All questions answered", Notices of the AMS,

[133] Donald E. Knuth, "Big Omicron and Big Omega and Big Theta", SIGACT News, Apr. 1976

[134] Donald E. Knuth, "Structured Programming with GOTO statement", Computing Surveys, 1974

[135] Donald E.Knuth, "Computer Programming as an Art", CACM, 1974

[136] Dongsong Zhang et al., "Can e-learning replace classroom learning?", CACM, 2004

[137] Edsger Wybe Dijkstra, "A constructive approach to the problem of program correctness", BIT, 1986

[138] Edsger Wybe Dijkstra, "Cooperating sequential processes", EWD123,

[139] Edsger Wybe Dijkstra, "Defence of ALGOL 60", CACM,

[140] Edsger Wybe Dijkstra, "Guarded commands, non-determinacy and formal derivation of programs", CACM, 1975

[141] Edsger Wybe Dijkstra, "Hierarchical Ordering of sequential Processes", Acta Informatica, 1, Springer, 1971

[142] Edsger Wybe Dijkstra, "Lecture notes on the structure of programs and proofs", EWD803, 1981

[143] Edsger Wybe Dijkstra, "Notes on Structured Programming", Academic Press,

[144] Edsger Wybe Dijkstra, "On Structures", EWD928, 1985

[145] Edsger Wybe Dijkstra, "On substitution, replacement and the notion of a function", EWD949, 1986

[146] Edsger Wybe Dijkstra, "Our Proof Format", EWD999, 1987

[147] Edsger Wybe Dijkstra, "Semantics of straight-line programs", EWD902, 1985

[148] Edsger Wybe Dijkstra, "Solution of a problem in concurrent programming control", CACM, 1965

[149] Edsger Wybe Dijkstra, "Some meditations on advanced programming",

[150] Edsger Wybe Dijkstra, "The calculus of boolean structures (Part 0)", EWD1001, 1987

[151] Edsger Wybe Dijkstra, "The calculus of boolean structures (Part 1)", EWD1002, 1987

[152] Edsger Wybe Dijkstra, "The everywhere operator once more", EWD1086, 1990

[153] Edsger Wybe Dijkstra, "The humble programmer", CACM, 1972

[154] Edsger Wybe Dijkstra, "The notational conventions I adopted and why", EWD1300, 2000

[155] Edsger Wybe Dijkstra, "The structure of THE Multiprogramming system", CACM, 1968

[156] Edsger Wybe Dijkstra, "What led to ""Notes on Structured Programming""", EWD1308,

[157] Edwin J. Tan and Wendi B. Heinzelman, "DSP Architectures: Past Present and Future", University of Rochester,

[158] Elaine J. Wuyuker, "Evaluating software complexity measures", ITSE, 1988

[159] Eric C. R. Hehner, "Predicative Programming Part-I", CACM, 1984

[160] Eric C. R. Hehner, "Predicative Programming Part-II", CACM, 1984

[161] Forrest Shull et al., "How prospective based reading can improve requirements inspection", Computer, IEEE, 2000

[162] Forrest Shull et al., "Replicating software engineering experiments: addressing the tacit knowledge problem", ISESE, 2002

[163] Forrest Shull et al., "What we have learned about fighting defects", IEEE Metrics, 2002

[164] Fred B. Schneider and Gregory R. Andrews, "Concepts for concurrent Programming", 1986

[165] Fred Mintzer and Abraham Peled, "A microprocessor for signal processing: The RSP", IBM Jorunal of Research and Development, 1982

[166] G. Anthony Gorry, "As simple as possible but not simpler", CACM, 2005

[167] G. D. Bergland, "A guided tour of program design methodologies", Computer, IEEE, Oct. 1981

[168] G. Ungerboeck et al., "Architecture of a Digital Signal Processor", IBM Jorunal of Research and Development, 1985

[169] Gabriel Dos Reis and Bjarne Stroustrup, "Specifying C++ Concepts",

[170] Gary F. Templeton, "Object oriented programming of integrated circuits", CACM, 2003

[171] George Ledin Jr., "Not teaching viruses and worms is harmful", CACM, 2005

[172] George Marsaglia, "Seeds for random number generators", CACM, 2003

[173] Glen W. Russell, "Experience with inspection in ultra large-scale developements", IEEE Software, 1991

[174] Glenford J. Myers, "An extension to the cyclomatic measure of program complexity", SIGPLAN Noices, IBM Systems Research Institute, 1977

[175] Graham C. Low and D. Ross Jeffery, "Function points in the estimation and evaluation of the software process", ITSE, 1990

[176] Gregor Kiczales et al., "Aspect oriented programming", Xerox Palo Alto Research Center,

[177] Gregory Conti, "Why computer scientists should attend hacker conferences", CACM, 2005

[178] Gregory R. Andrews and Fred B. Schneider, "Concepts and notations for concurrent programming", Computing Surveys, ACM, 1983

[179] Guy Keren, "Unix and C/C++ Run time memory management for programmers",

[180] H. Mossenbock and Niklaus Wirth, "The programming language Oberon-2", ETH Zurich, 1995

[181] H.C. Lauer, "Discussion on Ph.D. thesis proposals in computing science", The Computer Journal, vol.18, no.3,

[182] Haibin Zhu and MengChu Zhou, "Methodology first and Language second: A way to teach OOP", OOPSLA, ACM, 2003

[183] Hal Berghel and David L. Sallach, "A paradigm shift in Computing and IT education", CACM, 2004

[184] Hans Gallis et al., "An initial framework for research on pair programming", ISESE, 2003

[185] Harlan D. Mills and Michale Dyer and Richard C. Linger, "Cleanroom software engineering", IEEE Software, 1987

[186] Harlan D. Mills et al., "Mathematical principles for a first course in SE", ITSE, 1989

[187] Harlan D. Mills, "How to write correct programs and know it", "IBM, Maryland",

[188] Harlan D. Mills, "Structured Programming: Retrospect and Prospect", IEEE Software, 1986

[189] Harlan D. Mills, "The New Math of Computer Programming", CACM, Jan.1975

[190] Horst Zuse, "Properties of object oriented software measures", "TU Berlin, Germany",

[191] Hossein Sadiedian, "An invitation to formal methods", Computer, IEEE, 1996

[192] Howard E. Dow and James S. Murphy, "Detailed product knowledge is not a prerequisite for an effective formal software inspection", ASQC, 1996

[193] Ibrahim Haddad, "Adapting and open source approach", Enterprise Open Source, Motorola Inc., 2006

[194] J. B. Rainsberger, "Personal planning", IEEE Software, 2007

[195] J. Feldman and David Gries, "Translator writing systems", CACM, 1968

[196] Jack G. Ganssle, "Mother knows best", Embedded Systems Design, Aug. 2007

[197] Jack Reevs, "Multiple Inheritance considered useful", C C++ Users Journal, Feb. 2006

[198] Jacques Cohen, "Updating Computer Science education", CACM, 2005

[199] Jae-NamLee et al., "IT outsourcing evolution - past present and future", CACM, 2003

[200] James E. Smith and Ravi Nair, "The architecture of virtual machines", Computer, IEEE, 2005

[201] James H. Anderson, "Lamport on mutual exclusion: 27 years of planting seeds", 20th Symposium on Principles of Distributed Computing, ACM, 2001

[202] James M. Lucas, "The essential six sigma", Quality Progress,, 2002

[203] Jan Gray, "C++: Under the hood", Microsoft, 1994

[204] Janice Singer and Norman G. Vinson, "Ethical issues in empirical studies of software engineering", ITSE, 2002

[205] Jari Vanhanen and Casper Lassenius, "Effects of pair programming at the development team level: An Experiment", IEEE, 2005

[206] Jean Gareau, "Embedded x86 programming: Protected mode",,

[207] Jeff Carver et al., "Understanding the impact of assumptions on experimental validity", ISESE, 2004

[208] Jeff Scott et al., "Designing the M-Core M3 CPU Architecture", Motorola Inc.,

[209] Jeff Scott, Lea Hwang Lee, John Arends and Bill Moyer, "Designing the low-power m-core architecture", Motorola Inc.,

[210] Jeffrey P. Landry et al., "A common theme for IT degree program", CACM, 2003

[211] Jennifer Eyre et al., "The evolution of DSP processors", Berkeley Design Technology Inc., 2000

[212] Jie Ren and R. N. Taylor, "Automatic and versatile publication ranking for research institutions and scholars", CACM, 2007

[213] Jim Folaron, "The evolution of six sigma", Six Sigma Forum Magazine,, 2003

[214] Jim Waldo, "On System Desegn", OOPSLA, 2006

[215] Jo E. Hannay, Dag I. K. Sjoberg and Tore Dyba, "A systematic review of theory use in software engineering experiments", ITSE, 2007

[216] Jo Ellen Moore and Marry Sue Love, "IT professionals as organizational citizens", CACM, 2005

[217] Jochen Liedtke et al., "The performanve of u-Kernel based systems", SOSP, ACM, 1997

[218] Jochen Liedtke, "On u-Kernel Constructions", SOSP, ACM, 1995

[219] John Benamati et al., "Coping with rapid changes in IT", CACM, 2001

[220] John C. Knight and Nancy G. Leveson, "Software and higher education", CACM, 2006

[221] John C. Knight et al., "Should software engineering be licensed?", CACM, 2002

[222] John Crowcroft, "On the nature of computing", CACM, 2005

[223] John E. Hopcroft, "Computer Science: The Emergence of a discipline", CACM, 1987

[224] John Goodacre and Andrew N. Sloss, "Prallelism and the ARM Instruction Set architecture", Computer, IEEE, 2005

[225] John Hughes, "Why Functional Programming matters", Computer Journal, 1989,

[226] John McCarthy, "A basis for a mathematical theory of computation", Western Joint Computer Conference, May. 1961

[227] John McCarthy, "Towards a mathematical science of computation", Proceedings of IFIP Congress, 1962

[228] John Moses and John Clifford, "Learning how to improve effort estimation in small software development companies", IEEE, 2000,

[229] John R. Mick, "AM2900 Bipolar microprocessor family", AMD,

[230] Jonathan P. Bowen and Michael G. Hinchey, "Seven more myths of formal methods", IEEE Software, Jul. 1995

[231] Jonathan P. Bowen and Michael G. Hinchey, "Ten commandments of formal methods...Ten years later", Computer, IEEE, Jan. 2006

[232] Jorge Rady de Almeida Jr. et al., "Best practices in code inspection for safty critical software", IEEE Software, 2003

[233] Jorrit N. Herder et al., "Construction of a highly dependable operating system",

[234] Jorrit N. Herder et al., "Minix 3: A highly reliable, self-reparing operating system",

[235] Jorrit N. Herder et al., "Recognizing UNIX for reliablity",

[236] Jorrit N. Herder, Herbert Bos and Andrew S. Tanenbaum, "A light weight method for building reliable operating systems despite of unreliable device drivers", Technical Report, "Vrije Universiteit, Amsterdam", 2006

[237] Joseph Blackburn et al., "Concurrent software development", CACM, 2000

[238] Joseph(Yossi) Gill and Peter F. Sweeney, "Space and Time-efficient memory layout for multiple inheritance", OOPSLA, ACM, 1999

[239] K. Culik, "On formal and informal proofs for program correctness", SIGPLAN Noices, 1983

[240] Kari Smolander, "Four metaphores of architecture in software organizations: finding out meaning of architecture in practice", ISESE, 2002

[241] Katherine Malan and Ken Halland, "Examples that can do harm in learning programming", OOPSLA, ACM, 2004

[242] Keith Delvin, "Why universities require computer science students to take Math", CACM, 2003

[243] Keith Mander, "The decline and fall of the American programmer?", CACM, 2001

[244] Kim B. Bruce et al., "Why Math?", CACM, 2003

[245] Krzysztof R. Apt., "One more revolution to make: Free scientific publishing", CACM, 2001

[246] Lauren Weinstein, "Outsourced and out of control", CACM, 2004

[247] Laurie Williams et al., "Building pair programming knowledge through a family of experiments", ISESE, 2003

[248] Lawrence A. West et al., "Immigration and the global IT workforce", CACM, 2001

[249] Leah M. Reeves et al., "Guidelines for multimodal user interface design", CACM, 2004

[250] Len Shustek, "Donald Knuth: A life's work interrupted", CACM, Aug. 2008

[251] Len Shustek, "The 'Art' of being Donald Knuth", CACM, July. 2008

[252] Les Hatton, "Does OO sync with how we think?", IEEE Software, 1998,

[253] Linda Dailey Paulson, "Developers shift to dynamic programming languages", Computer, IEEE, 2007

[254] Linda H. Rosenberg and Larry Hyatt, "Applying and interpreting object oriented metrics", "SATC, NASA",

[255] Linda Wallace and Mark Keil, "Software project risks & their effect on outcomes", CACM, 2004

[256] Magne Jorgensen and Martin Shepperd, "A systematic review of software development cost estimation studies", ITSE, 2007

[257] Magne Jorgensen, "Experience with the acuracy of the software maintenance task effort estimation models", ITSE, 1995,

[258] Malika Greene, "Adaptive antennas on mobile handsets", 2002

[259] Marcus Ciolkowski et al., "Software reviews: the state of the practice", IEEE Software, Nov.-Dec. 2003

[260] Marcus J. Ranum, "Believing in myths", CACM, 2004

[261] Maria Klawe and Ben Shneiderman, "Crisis and oppertunity in Computer Science", CACM, 2005

[262] Mark Rene and Kathy Walker, "In Other Words", Better Software, Feb. 2004

[263] Mark S. Johnstone and Paul R. Wilson, "The memory fragmentation problem: Solved?", ISMM, ACM, 1998

[264] Marvin Minsky, "Form and content in computer science", CACM, Apr. 1970

[265] Mary Shaw, "What makes good research in software engineering?", Int. J. STTT, Springer Verlag, 2002,

[266] Mary Shaw, "Writing good software engineering research papers(Mini Tutorial)", IEEE, 2003

[267] Mei-Huei Tang et al., "An emperical study on object oriented metrics",

[268] Melvin E. Conway, "Design of a separable transition-diagram compiler", CACM, 1963

[269] Michael A. Cusomano, "Google: What it is and what it is not", CACM, 2005

[270] Michael A. Cusomano, "More lawers than programmers?", CACM, 2004

[271] Michael A. Cusomano, "What road ahead for Microsoft & Windows?", CACM, 2006

[272] Michael A. Cusomano, "What road ahead for Microsoft, the company?", CACM, 2007

[273] Michael A. Cusomano, "Who isliable for bugs and security flaws in software?", CACM, 2004

[274] Michael Cusomano et al., "Software development worldwide: The state of the practice", IEEE Software, Nov.-Dec. 2003

[275] Michael E. Caspersen and Michael Kolling, "A Novice's process of object oriented programming", OOPSLA, ACM, 2006

[276] Michael E. Fagan, "Advances in software Inspections", ITSE, 1986

[277] Michael E. Fagan, "Design and code inspections to reduce errors in program development", IBM Systems Journal, 1999

[278] Michael K. Daskalantonakis, "A practical view of software measurement and implementation experiences within Motorola", ITSE, 1992

[279] Michael K. Daskalantonakis, "Achieving higher SEI Level", IEEE Software, 1994

[280] Michael M. Swift et al., "Recovering Device Drivers",

[281] Michael M. Swift, Brian N. Bershad and Henry M. Levy, "Improving the reliability of commodity operating systems", SOSP, ACM, 2003

[282] Michael Schrage, "Never go to a client meeting without a prototype", IEEE Software, 2004

[283] Michael Sparling, "Lessons learned through six years of component based development", CACM, 2000

[284] Michelle Cartwright and Martin Shepperd, "An empirical investigation of an object oriented software system", ITSE, 2000

[285] Mikel J. Harry, "The nature of six sigma quality", Motorola University Press,

[286] Mohommedyusuf M. Sagri, "Rated and operating complexity of prgram - An extension to McCabe's theory of complexity measure", SIGPLAN Noices, "ISRO, India",

[287] Moshe Zviran et al., "Does color in email make a difference", CACM, 2006

[288] Narasimhaiah Gorla and Yan Wah Lam, "Who should work with whom?", CACM, 2004

[289] Nicholas G. Carr, "IT doesn't matter", Harvard Business Review, May. 2003

[290] Nicholas G. Carr, "The End of corporate computing", MIT Sloan Management Review, "Spring, 2005"

[291] Nicholas R. Jennings, "An agent based approach for building complex software systems", CACM, 2001

[292] Niklaus Wirth, "A plea for lean Software", Computer, IEEE, 1995

[293] Niklaus Wirth, "Good Ideas through the looking glass", Computer, IEEE, 2006

[294] Niklaus Wirth, "On the composition of well-structured programs", Computing Surveys, ACM, 1974

[295] Niklaus Wirth, "Program Development by stepwise refinement", CACM, 1971

[296] Nikolaos A. Mylonopolos et al., "Global perceptions of IS journals", CACM, 2001

[297] Norman E. Fenton and Martin Neil, "Software Metrics: Roadmap",

[298] Norman E. Fenton and Niclas Ohlsson, "Quantitative analysis of faults and failures in a complex software system", ITSE, 2000

[299] Norman E. Fenton, "Software metrics: Theory, tools and validation", Sftware Engineering Journal, 1990

[300] P. Katerattankul et al., "Objective quality ranking of computing journals", CACM, 2003

[301] Pamela Samuelson, "Patent reform through the courts", CACM, 2007

[302] Pamela Samuelson, "Trade Secrets Vs. Free Speech", CACM, 2003

[303] Pamela Samuelson, "Why reform the U.S. patent system?", CACM, 2004

[304] Patricia McDermott-Wells, "Bluetooth", IEEE Potentials, Dec. 2004 / Jan. 2005

[305] Patricia S. Abril and Robert Plant, "The patent holder's dilemma, Buy, Sell or Troll?", CACM, 2007

[306] Paul De Palma, "Why women avoid computer science", CACM, 2001

[307] Paul Robertson and Brian Williams, "Automatic recovery from software failure", CACM, 2006

[308] Per Brinch Hansen, "Concurrent programming concepts", Computing Surveys, ACM, 1973

[309] Per Brinch Hansen, "The invention of concurrent programming", 2002

[310] Peter B. Henderson, "Mathematical reasoning in software engineering education", CACM, 2003

[311] Peter Denning et al., "Wikipedia Risks", CACM, 2005

[312] Peter Freeman and David Hart, "A Science of design for software-intensive systems", CACM, 2004

[313] Peter G. Neumann, "A tale of two thousands", CACM, 2000

[314] Peter G. Neumann, "Responsibilities of technologists", CACM, 2005

[315] Peter J. Denning and Andrew McGettrick, "Recentering computer science", CACM, 2005

[316] Peter J. Denning, "Computing as a Discipline",

[317] Peter J. Denning, "Educating a new engineer", CACM, 1992

[318] Peter J. Denning, "Great Principles of Computing", CACM, 2003

[319] Peter J. Denning, "Is ""structured programming"" any longer the right term?",

[320] Peter J. Denning, "Is computer science Science?", CACM, 2005

[321] Peter J. Denning, "Is it not time to define ""Structured Programming""?",

[322] Peter J. Denning, "Network Laws", CACM, 2004

[323] Peter J. Denning, "The field of programmers myth",

[324] Peter J. Denning, "Who are we?", CACM, 2001

[325] Peter Kugel, "Its time to think outside the computational box", CACM, 2005

[326] Peter Naur, "Report on the algorithmic language ALGOL 60", CACM, 1960

[327] Phalguni Gupta, "Growth scenario of IT industries in India", CACM, 2001

[328] Philip G. Emma, "Five strategies for overcoming obviousness", IEEE Micro, Nov-Dec. 2006

[329] Philip G. Emma, "How to write a patent", IEEE Micro, Jan-Feb. 2006

[330] Philip G. Emma, "Inventions and the creative process", IEEE Micro, May-June 2005

[331] Philip G. Emma, "Patent claims revisited: Examiners and Trolls", IEEE Micro, May-June 2006

[332] Philip G. Emma, "Patents: To file or not to file?", IEEE Micro, Sept-Oct. 2005

[333] Philip G. Emma, "Prosecuting your patent", IEEE Micro, Sept-Oct. 2006

[334] Philip G. Emma, "The best patents of all", IEEE Micro, Mar-Apr. 2006

[335] Philip G. Emma, "The mechanics of filing a patent", IEEE Micro,

[336] Philip G. Emma, "What is patentable?", IEEE Micro, July-Aug. 2005

[337] Philip G. Emma, "Writing the claims for a patent", IEEE Micro, Nov-Dec. 2005

[338] Philip M. Johnson, "An instrumented approach to improving software quality through formal technical review", IEEE, 1994

[339] Phillip G. Armour, "The laws of software process", CACM, 2001

[340] Phillip G. Armour, "The unconscious art of software testing", CACM, 2005

[341] Raanan Zacher et al., "The design and implementation of an asynchronous RISC microrocessor",

[342] Rana Tassabehji and Maria Vakola, "Business email: The killer impact", CACM, 2005

[343] Richard A. Hankins et al., "Multiple instruction stream processor", ISCA, IEEE, 2006

[344] Richard A. Johnson, "The ups and downs of OO system development", CACM, 2000

[345] Richard M. Karp, "Combinatorics, complexity and randomness", CACM, Feb. 1986

[346] Richard Phelan, "Improving ARM code density and performance(New Thumb extensions to the ARM architecture)", ARM Ltd., 2003

[347] Richard Stallman et al., "Against software patents",

[348] Richard W. Selby et al., "Cleanroom software development: an empirical evaluation", ITSE, 1987

[349] Richard York, "Benchmarking in context: Dhrystone", ARM Ltd., 2002

[350] Rishi Toshniwals and Dharma P. Agrawal, "Tracing the roots of markup languages", CACM, 2004

[351] Ritu Agarwal et al., "On the usability of OO representations", CACM, 2000

[352] Ritu Agarwal et al., "Risks of rapid application development", CACM, 2000

[353] Robert E. Tarjan, "Algorithm Design", CACM, Mar. 1987

[354] Robert G. Fichman and Chris F. Kemerer, "Object Oriented and conventional analysis and design methodologies, comparison and critique", IEEE, 1992

[355] Robert J. Schwartz, "The design and development of a dynamic program behavior measurement tool for the Intel 8086/88",

[356] Robert L. Constable, "Programs as proofs", Cornell University, 1982,

[357] Robert L. Glass et al., "An analysis of research in computing disciplines", CACM, 2004

[358] Robert L. Glass, "A look at the economics of open source", CACM, 2004

[359] Robert L. Glass, "A sociopolitical look at open source", CACM, 2003

[360] Robert L. Glass, "Is the crouching tiger a threat", CACM, 2006

[361] Robert L. Glass, "Is this a revolutionary idea or not?", CACM, 2004

[362] Robert L. Glass, "One giant step backward", CACM, 2003

[363] Robert L. Glass, "The plot to deskill software engineering", CACM, 2005

[364] Robert L. Glass, "Y2K and beliving in software practice", CACM, 2000

[365] Robert S. Rist, "Modeling object-oriented design", OOPSLA, 2005

[366] Robert W. Floyd, "Assigning meanings to programs", Symosia in Applied mathematics, 1967

[367] Ross Houslay and William Arbaugh, "Security problems in 802.11-based networks", CACM, 2003

[368] Ross Houslay et al., "Security flaws in 802.11 Datalink protocols", CACM, 2003

[369] Ruth Bolotin Schwartz and Michele C. Russo, "How to quickly find articles in the top IS journals", CACM, 2004

[370] S. Rao Kosaraju, "Analysis of structured programs", ACM Symposium on Theory of Computing, 1973

[371] Salah Bendifallah and Walt Scacchi, "Understanding software maintenance work", ITSE, 1987,

[372] Sami Kollanus and Jussi Koskinen, "Survey of software inspection research 1991-2005", University of Jyavaskyla, 2007,

[373] Sami Surakka, "What subjects and skills are important for software developers", CACM, 2007

[374] Sang M. Lee and Choong Kwon Lee, "IT managers' requesite skills", CACM, 2006

[375] Sarv Devaraj and S. Ramesh Babu, "How to measure the relation between training and job performance?", CACM, 2004

[376] Saumya Debray and William S. Evans, "Cold code decompression at runtime", CACM, 2003

[377] Scott Hazelhurst, "Developing IT skill internationally: Who is developing whom?", CACM, 2001

[378] Scott Maccoy et al., "The effects of online advertising", CACM, 2007

[379] Selvin George, David Evans and Lance Davidson, "A biologically inspired programming model for self healing systems", WOSS, ACM, 2002

[380] Sergei Sokolov, "Bulletproofing C++ code", Dr. Dobb's Journal, 2007

[381] Shyam R. Chidamber and Chris F. Kemerer, "A metrics suite for object riented design", ITSE, 1994

[382] Shyam R. Chidamber and Chris F. Kemerer, "Towards a metrics suite for object oriented design", OOPSLA, ACM, 1991

[383] Shyam R. Chidamber, David P. Darcy and Chris F. Kemerer, "Mangerial use of metrics for object oriented software: An exploratory analysis", ITSE, 1998

[384] Sidney L. Hantler and James C. King, "An introduction to proving the correctness of programs", Computing Surveys, 1976

[385] Stephan Baldi et al., "Open courseware and open source sofware", CACM, 2003

[386] Stephen A. Cook, "An overview of computational complexity", CACM, June. 1983

[387] Stephen A. Edwards, "The challenges of synthesizing hardware from C-Like languages", IEEE Design & Test of Computers, 2006

[388] Stephen Brown and Jonathan Rose, "FPGA and CPL architecture: A tutorial", IEEE Design & Test of Computers, 1996

[389] Stephen J. Andriole, "The 7 habits of highly effective technology leaders", CACM, 2007

[390] Steve Gorman, "Overview of the protected mode operation of the Intel Architecture", Intel Corporation,

[391] Steve Sawyer, "Software development teams", CACM, 2004

[392] Susan Owicki and David Gries, "Verifying properties of parallel programs: An axiomatic approach", CACM, 1976

[393] Suzanne D. Pawlowski et al., "The (gradually) changing face of state IT jobs", CACM, 2005

[394] Synthia F. Cohen et al., "Managing conflict in software testing", CACM, 2004

[395] Thomas J. Bergin, "A history of the history of programming languages", CACM, 2007

[396] Thomas J. McCabe, "A complexity measure", ITSE, 1976

[397] Thomas J. Ostrand, Elaine J. Weyuker and Robert M. Bell, "Where the bugs are?", ISSTA, ACM, 2004

[398] Thomas J.Ostrand and Elaine J. Weyuker, "The dstribution of faults in a large industrial software system", ACM, 2002

[399] Thomas L. Adams and Richard E. Zimmerman, "An analysis of 8086 instruction set usage in MS-DOS programs", ACM, 1989

[400] Thomas Schambach et al., "The professional development challenge for IT professionals", CACM, 2002

[401] Thomas W. Jackson et al., "A simple approach to improving email communication", CACM, 2006

[402] Tomoko Matsumura et al., "Detection of faulty code violating implicit coding rules", ISESE, 2002

[403] Torgeir Dingsoyr et al., "Practical knowledge management tool use in a software consulting company", CACM, 2005

[404] Trishul Chilimbi et al., "Designing a trace format for heap allocation events", ISMM, ACM, 2000

[405] Upkar Varshney et al., "Voice over IP", CACM, 2002

[406] Ursula Passing and Martin Shepperd, "An experiment on software project size and effort estimation", ISESE, 2003

[407] Vicki L. Almstrum, "What is the attraction to computing?", CACM, 2003

[408] Victor R. Basili and Barry T. Perricone, "Software errors and complexity: an emperical investigation", Computing Practices, ACM, 1984

[409] Victor R. Basili and Harlan D. Mills, "Understanding and Documenting Programs", ITSE, 1982

[410] Victor R. Basili and Robert E. Noonan, "A comparison of the axiomatic and the functional models of structured programming", ITSE, 1980

[411] Victor R. Basili et al., "Detecting defects in object oriented designs: Using reading techniques to increase software quality", OOPSLA, ACM, 1999

[412] Victor R. Basili et al., "Technology transfer at Motorola", IEEE Software, 1994

[413] Victor R. Basili, "The role of experimentation in software engineering: Past, Current and Future", ICSE, 1996

[414] Victor R. Basili, Lionel C. Briand and Walcelio L. Melo, "A validation of object oriented design metrics as quality indicators", ITSE, 1996

[415] Walter F. Trichy, "Should computer scientists experiment more?", Computer, IEEE, 1998,

[416] Warren A. Harrison and Kenneth I. Magel, "A complexity measure based on nesting level", University of Missouri-Rolla,

[417] William Hohl and Joe Circello, "Digital signal processing on the coldfire architecture", Motorola Inc.,

[418] William J. Latzko, "Notes on six sigma concept",

[419] William Kahan and Dan Zuras, "An open question to developers of Numerical software", Computer, IEEE, 2005

[420] Williams S. Evans and Christopher W. Fraster, "Grammar based compression of interpreted code", CACM, 2003

[421] Wing C. Tam, "Teaching loop invariants to beginners by examples", ACM, 1992

[422] Winston W. Royce, "Managing the development of large software systems", WESCON, IEEE, Aug. 1970

[423] Yaofei Chen et al., "An empirical study of programming language trends", IEEE Software, May.-June.2005

[424] Yasushi Kambayashi and Henry F. Ledgard, "The separation principle: A programming paradigm", IEEE Software, 2004

[425] Yoo C. Chung and Soo-Mook Moon, "Mamory allocation with lazy fits", ISMM, ACM, 2000

[426] Younghwa Lee et al., "Does Avatar Email improve communication?", CACM, 2005

[427] Zohar Manna and Richard Waldinger, "Is 'sometime' sometimes better than 'always'?", CACM, 1978