Computer-Aided Inconsistency Management in Software Development

The incremental development of software systems involves the detection and handling of inconsistencies. These inconsistencies arise in system requirements, design specifications and, quite often, in the final implemented software product. In this paper we explore different kinds of inconsistency that arise during different stages of software development, and examine the scope and role of computer-based tool support for managing inconsistency in this setting. In addition to detecting and removing inconsistencies , managing inconsistency also includes a wide range of activities that facilitate continued development in the presence of inconsistency. These include procedures for controlled amelioration and avoidance of inconsistencies. The paper uses the ViewPoints framework for multi-perspective software development as a vehicle for the discussion, and as a test bed for tool support. The framework facilitates the development and composition of multiple partial specifications (ViewPoints), and is itself supported by automated tools that check and handle inconsistencies (The Viewer).

[1]  Bashar Nuseibeh,et al.  Fine-grain process modelling , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[2]  Anthony I. Wasserman,et al.  A graphical, extensible integrated environment for software development , 1987, SDE 2.

[3]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[4]  Dov M. Gabbay,et al.  Making inconsistency respectable: a logical framework for inconsistency in reasoning , 1991, FAIR.

[5]  Martin S. Feather,et al.  Modularized exception handling , 1996, ISAW '96.

[6]  Bent Bruun Kristensen,et al.  Consistency in software system development: framework, model, techniques & tools , 1992, SDE.

[7]  Bev Littlewood Learning to live with uncertainty in our software , 1994, Proceedings of 1994 IEEE 2nd International Software Metrics Symposium.

[8]  Bashar Nuseibeh,et al.  Decentralised Process Modelling , 1995, EWSPT.

[9]  Bashar Nuseibeh,et al.  Coordinating distributed ViewPoints: the Anatomy of a Consistency Check , 1994 .

[10]  Alfred V. Aho,et al.  Principles of Compiler Design , 1977 .

[11]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[12]  Bashar Nuseibeh,et al.  ViewPoints: a vehicle for method and tool integration , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.

[13]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[14]  Dov M. Gabbay,et al.  Inconsistency Handling in Multperspective Specifications , 1994, IEEE Trans. Software Eng..

[15]  Gail E. Kaiser,et al.  Living With Inconsistency in Large Systems , 1988, System Configuration Management.

[16]  S. Easterbrook,et al.  A Survey of Empirical Studies of Conflict , 1993 .

[17]  Peter A. Lindsay,et al.  A survey of mechanical support for formal reasoning , 1988, Softw. Eng. J..

[18]  Anthony Hunter,et al.  Quasi-classical Logic: Non-trivializable classical reasoning from incosistent information , 1995, ECSQARU.

[19]  Khaled Narayanaswamy,et al.  “Lazy” consistency: a basis for cooperative software development , 1992, CSCW '92.

[20]  Flaviu Cristian Basic Concepts and Issues in Fault-Tolerant Distributed Systems , 1991, Operating Systems of the 90s and Beyond.

[21]  Bent Bruun Kristensen,et al.  Consistency in software system development: framework, model, techniques & tools , 1992 .

[22]  Dov M. Gabbay,et al.  Inconsistency Handling in Multi-Perspective Specifications , 1993, ESEC.