Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/229000.226322acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article
Free access

Elements of style: analyzing a software design feature with a counterexample detector

Published: 01 May 1996 Publication History

Abstract

We illustrate the application of Nitpick, a specification checker, to the design of a style mechanism for a word processor. The design is cast, along with some expected properties, in a subset of Z. Nitpick checks a property by enumerating all possible cases within some finite bounds, displaying as a counterexample the first case for which the property fails to hold. Unlike animation or execution tools, Nitpick does not require state transitions to be expressed constructively, and unlike theorem provers, operates completely automatically without user intervention. Using a variety of reduction mechanisms, it can cover an enormous number of cases in a reasonable time, so that subtle flaws can be rapidly detected.

References

[1]
The B-Technologies: a system for computer aided programming. B-Core (UK) Limited, Oxford, England, 1995.
[2]
J.M. Atlee and J.D. Gannon. State-based model checking of event-driven systems requirements. IEEE 7?ansactions on Software Enginaering, Jan. 1993o
[3]
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill and J. Hwang. Symbolic model checking: 1020 states and beyond. Proc. 5th Annual Symposium on Logic in Computer Science, IEEE Computer Society Press, June 1990.
[4]
E.M. Clarke, E.A. Emerson and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions of Programming Languages and Systems, 8(2), pp. 244-263, 1986.
[5]
E.M. Clarke, T. Filkorn and S. Jha. Exploiting symmetry in temporal logic model checking. Fifth International Conference on Computer-Aided Verification, June 1993.
[6]
Jeffrey Douglas and Richard A. Kemmcrer. Aslantest: a symbolic execution tool for testing Asian formal specifications. International Symposium on Software Testing and Analysis, Seattle, August 1994.
[7]
Rene Elmstrom, Peter Gorm Larsen and Poul Bogh Lassen. The IFAD VDM-SL toolbox: a practical approach to formal specifications. ACM $IGPLAN Notices, Vol. 29, No. 9, September 1994.
[8]
Stephen Garland, John Guttag and James Homing. Debugging Larch Shared Language Specifications, IEEE Trans. on Software Engineering, Vol 16, No. 9, 1990.
[9]
John Guttag and james Horning. Formal specification as a design tool. 7th Symposium on Principles of Programming Languages, Las Vegas, Nevada, Jan. 1980.
[10]
Constance Heitmeyer, Bruce Labaw and Daniel Kiskis. Consistency checking of SCR-style requirements specifications. Proc. RE '95: 2nd IEEE International Symposium on Requirements Engineering, York, England, March 1995, pp. 56-63.
[11]
C. Ip and D. Dill. Better verification through symmetry. Proc. 11th International Symposium on Computer Hardware Description Languages and their Applications, April 1993.
[12]
Daniel Jackson. Abstract model checking of infinite specifications. Proceedings of Formal Methods Europe Conference, Barcelona, 1994.
[13]
Daniel Jackson. Exploiting Symmetry in the Model Checking of Relational Specifications, Technical Report CMU-CS-94-219, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, December 1994.
[14]
Daniel Jackson and Somesh Jha. Faster Checking of Software Specifications by Eliminating Isomorphs. Proc. ACM Symp. on Principles of Programming Languages, St. Petersburg Beach, FL, January 1996.
[15]
Daniel Jackson and Michael Jackson. Problem Decomposition for Reuse. to appear, Software Engineering }ournal, (special issue on viewpoints).
[16]
N.G. Leveson, M.EE. Heimdahl, H. Hildreth and J.D. Reese. Requirements specification for processcontrol systems. IEEE 7?ans. on Software Engineering, September 1994, Vol. 20, No. 9, pp. 684-707.
[17]
Peter Gorm Larsen and Poul Bogh Lassen. An executable subset of Meta-IV with loose specification. In S. Prehn, W.J. Toetenel (eds.), VDM'91: Formal Software Development Methods, Vol. 1, Lecture Notes in Computer Science 551, Springer-Verlag, 1991.
[18]
D. Parnas and j. Madey. Functional documentation for computer systems engineering. Technical Report TR-90-287, Queen's University, Kingston, Ontario, September 1990.
[19]
J.M. Spivey, The Z Notation: A Reference Manual, Prentice Hall International, 1989o
[20]
Samuel H. Valentine. Z--, an executable subset of Z. In J.E. Nicholls (ed.), Z User Workshop, York, 1991. Springer-Verlag Workshops in Computing, 1992.
[21]
Jeannette Wing and Mandana Vaziri-Farahani. Model checking software systems: a case study. Proc. SIGSOFT Conf. on Foundations of Software Engineering, Washington, DC, August 1995.

Cited By

View all
  • (2023)Toward Programming Languages for Reasoning: Humans, Symbolic Systems, and AI AgentsProceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3622758.3622895(136-152)Online publication date: 18-Oct-2023
  • (2023)Semantic-Based Neural Network RepairProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598045(150-162)Online publication date: 12-Jul-2023
  • (2022)ExAISProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510112(859-870)Online publication date: 21-May-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '96: Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
May 1996
294 pages
ISBN:0897917871
DOI:10.1145/229000
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1996

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ISSTA96
Sponsor:
ISSTA96: International Symposium on Software Testing and Analysis
January 8 - 10, 1996
California, San Diego, USA

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)146
  • Downloads (Last 6 weeks)25
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Toward Programming Languages for Reasoning: Humans, Symbolic Systems, and AI AgentsProceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3622758.3622895(136-152)Online publication date: 18-Oct-2023
  • (2023)Semantic-Based Neural Network RepairProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598045(150-162)Online publication date: 12-Jul-2023
  • (2022)ExAISProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510112(859-870)Online publication date: 21-May-2022
  • (2021)Programming and execution models for parallel bounded exhaustive testingProceedings of the ACM on Programming Languages10.1145/34855435:OOPSLA(1-28)Online publication date: 15-Oct-2021
  • (2021)SpecTest: Specification-Based Compiler TestingFundamental Approaches to Software Engineering10.1007/978-3-030-71500-7_14(269-291)Online publication date: 20-Mar-2021
  • (2018)Deep Learning for BiometricsACM Computing Surveys10.1145/319061851:3(1-34)Online publication date: 23-May-2018
  • (2018)Generalized data structure synthesisProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180211(958-968)Online publication date: 27-May-2018
  • (2017)Sound Loop Superoptimization for Google Native ClientACM SIGARCH Computer Architecture News10.1145/3093337.303775445:1(313-326)Online publication date: 4-Apr-2017
  • (2017)Sound Loop Superoptimization for Google Native ClientACM SIGPLAN Notices10.1145/3093336.303775452:4(313-326)Online publication date: 4-Apr-2017
  • (2017)3DGatesACM SIGPLAN Notices10.1145/3093336.303775252:4(419-433)Online publication date: 4-Apr-2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media