Sailing 100.jpg (9115 bytes)                      

 

William E. Howden

Professor of Computer Science

Department of Computer Science and Engineering

University of California at San Diego                               

La Jolla, CA    92093               howden@cse.ucsd.edu

 

Current Courses

CSE 87: Freshman Seminar: Errors and Failures

What went wrong? Why did a 50 million dollar rocket blow up on its first launch? How did a surgical procedure result in accidental death? Why did a famous criminal case result in an invalid conviction? or, more simply, Why did I cut the board on the wrong side when I was making a workbench drawer? Errors occur in both our personal and our professional lives. The only way to never make an error is to never do anything. We will discuss the ways in which errors occur and how they can be prevented. The relationship of different kinds of errors to software systems will be discussed, but the examples are taken from a wide range of areas. There are no prerequisites and no technical background is assumed.

The course has ten sessions, in which the topics are illustrated with multimedia presentations.  Students may obtain further details by contacting the instructor or the CSE undergraduate office.

 

Research Summary 

Past Research:

Most of my research has been in the area of software testing.  I was one of the founders of this research area and was on the committee that organized the first testing research workshop, which eventually became the ISSTA conference.  I have worked in most areas of testing research, and I think I was the first person to use some of its now standard terminology, such as  "infeasible paths" and "test oracle".  

My initial research in testing resulted in a very early symbolic evaluation system and my current research is in error based testing and test automation.  My research in testing has included results in: symbolic evaluation, theory of testing, algebraic testing, random testing, weak mutation testing, event sequence analysis, error-based testing and analysis, comments analysis, program understanding, trustability analysis, functional testing, and empirical studies of effectiveness.  

I was made a Fellow of the IEEE for my work in functional testing.

 

Current Research:

My current research is in error-based testing.  In this approach, human error models  are used to guide the application of software testing and analysis.  Perhaps the first presentation of error-based testing and analysis was described in my paper Comments Analysis and Programming Errors, (1990).  This work used a simple error model in which there were two basic types: locality and semantic.  In the first type, programmers make false assumptions about one part of a program while working on another, resulting from, for example, forgetting to do something, or using incorrect data sources.  In the second, they incorrectly interpret the meanings of variables that were used to stand for less abstract, concrete items.  A technique called comments analysis, based on the error model, was developed that was successfully applied to the avionics on the AV8-B aircraft.  Subsequently, a different error model, which stressed combinations of error factors, was used to analyze a portable interactive artillery system.

A simple error model in which errors are classified as: bandwidth, forgetting, ignorance, perversity, and typos has been used in my graduate courses on testing, and was described in my paper Error-Based Testing and Analysis.  Currently, I am working with more elaborate error models including a software interpretation of a classical error model from cognitive science, as described in my paper Error models and Software Certification.  The paper describes an evaluation of an approach to testing that is  based on the model, which was evaluated against a collection of very diverse programs.  The study compared it to 12 other, well-known methods. Current research involves the application of the error model and associated methods to an industrial control system.

Applications of an error-based approach have been recently investigated  by Y.Y. Zhou and her team, including the work described in an award award-winning paper involving the analysis of error reports, called  "How do fixes become bugs", (FSE, 2011).  The approach may now be coming of age.

 

Books

Howden, William E., Functional Program Testing and Analysis. New York: McGraw-Hill, 1987.

Miller, Edward and William E. Howden, Software Testing and Validation Techniques, 2nd ed. New York: IEEE Computer Society Press, 1981.

E. F. Miller and W. E. Howden, Software Testing and Validation Techniques,  IEEE Computer Society, Long Beach, CA, 1978.

 

Published  Papers  

William E. Howden, Error Models and Software Certification, Proceedings of ISSRE 2011 Workshop on Software Certification, Hiroshima, 2011.

William E. Howden, Error-based Software Testing and Analysis, Proceedings COMPSAC 2011  Workshop on Test Automation, Munich, 2011.

William Howden, P. Desai, T. Hachisuka, B. Chen, M. Chaudhary, F. Lionetti and R. Hemmatti, Applicability of  BET to Elusive Bugs in Diverse Application Areas, Proceedings ICSOFT 2009 Poster Sessions, Sofia Bulgaria, 2009.

R. Barzin, S. Fukushima, W. Howden, and S. Sharifi, SuperFIT Combinational Bug Detection, Proceedings COMPSAC 2008,
Turku, Finland, IEEE, 2008.

W. E. Howden, Adequacy of Bounded Exhaustive Testing and Incomplete Oracles for Elusive Bug Detection, Proceedings ICSOFT 2008, Porto, Portugal, 2008.

W.E. Howden and Cliff Rhyne, Test Frameworks for Elusive Bug Testing, Proceedings ICSOFT 2007, Barcellona, Spain, 2007.

William E. Howden, Software Test Selection Patterns and Elusive Bugs, Proceedings COMPSAC 2005, IEEE, 2005.

W.E. Howden, R. Kim and P. Tran, Model-Based Extreme Testing,  ISSRE 2002 (Extended Abstracts), 2002

William E. Howden, Good Enough versus High Assurance Software Testing and Evaluation Methods. HASE 1998: 1998

W.E. Howden, Proceedings ISSRE 97, Confidence-Based Reliability And Statistical Coverage Estimation , Albuquerque, 1997, p. 283

William E. Howden, Systems testing and statistical test data coverage, COMPSAC 1997: 500-504 1997

William E. Howden, Suehee Pak: The Derivation of Functional Specifications from Source Code. APSEC 1996: 166- 30

William E. Howden, Auditing Informal Software Testing and Analysis Processes. APSEC 1996: 332- 29

William E. Howden, G. M. Shi: Linear and Structural Event Sequence Analysis. ISSTA 1996: 98-106, 1996

William E. Howden, G. M. Shi: Temporal Event Analysis and Program Understanding. COMPSAC 1995: 4-11 27, 1995

William E. Howden, Yudong Huang: Software Trustability Analysis. ACM Trans. Softw. Eng. Methodol. 4(1): 36-64 (1995) 1994

William E. Howden, Yudong Huang: Confidence Oriented Software Dependability Measurement (Abstract). ISSTA 1994: 1994

W.E. Howden, and Cheron Vail, An informal verification of a critical system, Proceedings Fifth international Conference on Software Engineering and its Applications, CIGREF, Toulouse, 1992

William E. Howden, Bruce Wieand: QDA-A Method for Systematic Informal Program Analysis. IEEE Trans. Software Eng. 20(6): 445-462 (1994) 1991

William E. Howden, David Nesbitt, Cheron Vail Bruce Wieand: Verification of complex systems using incremental operational specifications. Inf. Sci. 57-58: 427-450 (1991)

William E. Howden, Program Testing versus Proofs of Correctness. Softw. Test., Verif. Reliab. 1(1): 5-15 (1991) 1990

William E. Howden, Comments Analysis and Programming Errors. IEEE Trans. Software Eng. 16(1): 72-81 (1990) 1989

William E. Howden:,Error-Based Validation Completeness. ICSE 1989: 357

William Howden, A Comparison of Software and Hardware Testing. IFIP Congress 1989: 344

William E. Howden, Validating Programs without Specifications. Symposium on Testing, Analysis, and Verification 1989: 2-9 1986

William E. Howden, A Functional Approach to Program Testing and Analysis. IEEE Trans. Software Eng. 12(10): 997-1005 (1986)

Shmuel Rotenstreich, William E. Howden: Two-Dimensional Program Design. IEEE Trans. Software Eng. 12(3): 377-384 (1986) 1982

William E. Howden, Validation of Scientific Programs. ACM Comput. Surv. 14(2): 193-227 (1982)

William E. Howden, Contemporary Software Development Environments. Commun. ACM 25(5): 318-329 (1982)

William E. Howden, Life-Cycle Software Validation. IEEE Computer 15(2): 71-78 (1982)

William E. Howden, Weak Mutation Testing and Completeness of Test Sets. IEEE Trans. Software Eng. 8(4): 371-379 (1982) 1981

William E. Howden, Completeness Criteria for Testing Elementary Program Functions. ICSE 1981: 235-243 1980

William E. Howden, Applicability of Software Validation Techniques to Scientific Programs. ACM Trans. Program. Lang. Syst. 2(3): 307-320 (1980)

William H. Howden,  Functional Testing and Design Abstractions, The Journal of Systems and Software, Volume 1, Number 4, 1980, 307-31

William E. Howden, Functional Program Testing. IEEE Trans. Software Eng. 6(2): 162-169 (1980) 1978

William E. Howden, Theoretical and Empirical Studies of Program Testing. ICSE 1978: 305-311

William E. Howden, Algebraic Program Testing. Acta Inf. 10: 53-66 (1978)

William E. Howden, DISSECT-A Symbolic Evaluation and Program Testing System. IEEE Trans. Software Eng. 4(1): 70-73 (1978)

William E. Howden, Theoretical and Empirical Studies of Program Testing. IEEE Trans. Software Eng. 4(4): 293-298 (1978)

William E. Howden, Lindenmayer Grammars and Symbolic Testing. Inf. Process. Lett. 7(1): 36-39 (1978)

 William E. Howden, An Evaluation of the Effectiveness of Symbolic Testing. Softw., Pract. Exper. 8(4): 381-397 (1978) 1977

William E. Howden, Symbolic Testing and the DISSECT Symbolic Evaluation System. IEEE Trans. Software Eng. 3(4): 266-278 (1977) 1976

William E. Howden, Experiments with a symbolic evaluation system, Proceedings, National Computer Conference, 1976 

William E. Howden, Reliability of the Path Analysis Testing Strategy. IEEE Trans. Software Eng. 2(3): 208-215, 1976 

William E. Howden, Methodology for the Generation of Program Test Data. IEEE Trans. Computers, 24(5): 554-560, 1975  

W. E. Howden and J. Laub, Automatic Case Analysis of Programs, Proc. Computer Science and Statistics, 8th Annual Meeting on the Interface, Los Angeles, Feb. 1975.

W. E. Howden   Solution plans and interactive problem solving, Computers and Graphics, Volume 1, Number 1, May, 1975, 21- 26.
W. E. Howden, Automatic Generation of Program Test Data and Proofs of Program Correctness, Wkshp. on Attainment of  Reliable Software,
University of Toronto, April 1974.
W. E. Howden, The sofa problem, The Computer Journal, Volume 11, Issue 3: November 1968. pp. 299-301. 

W. E. Howden, A program for the construction of PERT flow charts, The Computer Journal, Volume 10, Issue 3: November 1967 pp. 278-281