----------------------------------------------------------------- Faulty Human Communications: Its Impact on Dependability And What To Do About It John C. Knight Department of Computer Science University of Virginia Charlottesville, VA In systems requiring ultra-high dependability, the majority of software defects that are found during testing or after deployment are the result of requirements errors. Of those requirements errors, a significant number occur because of misunderstandings about the system context. Essential details of the application domain are either unknown or misunderstood by developers because of poor communication of application domain knowledge. Current software development practices focus on the formal aspects of software. While formalisms are the only structures required to communicate with a machine, contextual information is required for developers to communicate with one another and establish software validity. The pervasive medium for this communication, natural language, is understood to be problematic for high-precision communication because of its characteristic ambiguity and informality. However, natural language possesses its own body of research results and is amenable to rigorous inspection. We have analyzed the domain knowledge communication problem as it arises in software engineering from the perspective of current cognitive linguistic theory, and this analysis has yielded a model that helps to explain sources of ambiguity and other problems with the use of natural language. Using this model we have developed a new artifact that combines software function and essential context information in a rigorous entity that we refer to as a situated formalism. In this presentation, I briefly summarize the linguistic model and insights derived from it, e.g., that the considered use of natural language performs a function unachievable by formal means. I will explain how these insights are exploited to motivate the structure of the situated formalism and discuss a preliminary practical representation. Finally, I will present some details of our applications of the concepts discussed. JOHN KNIGHT John Knight is a professor of computer science at the University of Virginia. He holds a B.Sc. (Hons) in Mathematics from the Imperial College of Science and Technology (London) and a Ph.D. in Computer Science from the University of Newcastle upon Tyne. Prior to joining the University of Virginia in 1981, he was with NASA's Langley Research Center. Dr. Knight's research interests are in software dependability. He is currently working on projects in safety-critical embedded systems and the survivability of critical networked applications. Specific research topics include the use of natural language in specification, tool support for comprehensive specification development and analysis, formal verification, assurance arguments, and network survivability architectures. From 2001 to 2005 Dr. Knight served as Editor in Chief of the IEEE Transactions on Software Engineering, he is a member of the editorial board of the Empirical Software Engineering Journal, and he is the General Chair of the 2007 International Conference on Software Engineering.