Software design, automated testing, and maintenance - a practical approach

Please note that to save paper some of the appendices have been omitted from this version of the text. For that reason, there will be some undeened references (?) in the text.

[1]  P. Dangerfield Logic , 1996, Aristotle and the Stoics.

[2]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[3]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[4]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .

[5]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[6]  Richard G. Hamlet,et al.  Data Abstraction, Implementation, Specification, and Testing , 1981, TOPL.

[7]  R. J. Nelson,et al.  Introduction to Automata , 1968 .

[8]  WirthNiklaus Program development by stepwise refinement , 1971 .

[9]  David Lorge Parnas,et al.  The Modular Structure of Complex Systems , 1984, IEEE Transactions on Software Engineering.

[10]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.

[11]  N. Falconer Structured Programming , 1973, Nature.

[12]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[13]  David Lorge Parnas,et al.  Using traces to write abstract specifications for software modules , 1977 .

[14]  David J. Panzl A language for specifying software tests , 1978, AFIPS National Computer Conference.

[15]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[16]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[17]  Boris Beizer,et al.  Software System Testing and Quality Assurance , 1984 .

[18]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[19]  Alan M. Davis,et al.  A comparison of techniques for the specification of external system behavior , 1988, CACM.

[20]  William E. Howden,et al.  Functional Program Testing , 1978, IEEE Transactions on Software Engineering.

[21]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[22]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[23]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[24]  Wayne A. Babich,et al.  Software Configuration Management: Coordination for Team Productivity , 1986 .

[25]  P. Frankl,et al.  Tools for Testing Object-oriented Programs 1 , 1990 .

[26]  Daniel Hoffman,et al.  Trace Specifications: Methodology and Models , 1988, IEEE Trans. Software Eng..

[27]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[28]  Michael Dyer The Cleanroom Approach to Quality Software Development , 1992, Int. CMG Conference.

[29]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[30]  Mack W. Alford A Requirements Engineering Methodology for Real-Time Processing Requirements , 1977, IEEE Transactions on Software Engineering.

[31]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[32]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[33]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[34]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[35]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[36]  Victor R. Basili,et al.  Cleanroom Software Development: An Empirical Evaluation , 1987, IEEE Transactions on Software Engineering.

[37]  D. L. Parnas,et al.  Using documentation as a software design medium , 1981, The Bell System Technical Journal.

[38]  Harlan D. Mills,et al.  Theory of Modules , 1987, IEEE Transactions on Software Engineering.

[39]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[40]  James A. Hager,et al.  Software Cost Reduction Methods in Practice , 1989, IEEE Trans. Software Eng..

[41]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[42]  Lori A. Clarke,et al.  Partition Analysis: A Method Combining Testing and Verification , 1985, IEEE Transactions on Software Engineering.

[43]  Lee J. White,et al.  A Domain Strategy for Computer Program Testing , 1980, IEEE Transactions on Software Engineering.

[44]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[45]  Robert B. Grady,et al.  Practical Software Metrics for Project Management and Process Improvement , 1992 .

[46]  Barry W. Boehm,et al.  Prototyping Versus Specifying: A Multiproject Experiment , 1984, IEEE Transactions on Software Engineering.

[47]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[48]  Daniel Hoffman,et al.  Automated Module Testing in Prolog , 1991, IEEE Trans. Software Eng..

[49]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[50]  David Lorge Parnas,et al.  A procedure for designing abstract interfaces for device interface modules , 1981, ICSE '81.

[51]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[52]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[53]  Ronald Smith,et al.  Computer Organization , 1965, SIGCPR '65.

[54]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[55]  David Lorge Parnas,et al.  Documentation for safety critical software , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[56]  R. Nigel Horspool The Berkeley Unix Environment , 1992 .

[57]  M. Pill,et al.  Discrete mathematics: an introduction for software engineers , 1991 .

[58]  Grady Booch,et al.  Book Reviews , 1936, Computer.

[59]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[60]  David H. Kitson,et al.  An analysis of SEI software process assessment results: 1987-1991 , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[61]  Daniel Hoffman,et al.  Inspecting module interface specifications , 1994, Softw. Test. Verification Reliab..

[62]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[63]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[64]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[65]  Glen W. Russell,et al.  Experience with inspection in ultralarge-scale development , 1991, IEEE Software.

[66]  M A Branch,et al.  Software maintenance management , 1986 .

[67]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[68]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[69]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[70]  Daniel F. Stubbs,et al.  Data structures with abstract data types and Pascal: 2nd edition , 1989 .

[71]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[72]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.