Advertisement

Model checking graphical user interfaces using abstractions

  • Matthew B. Dwyer
  • Vicki Carr
  • Laura Hines
Regular Sessions Formal Analysis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1301)

Abstract

Symbolic model checking techniques have been widely and successfully applied to statically analyze dynamic properties of hardware systems. Efforts to apply this same technology to the analysis of software systems has met with a number of obstacles, such as the existence of non-finite state-spaces. This paper investigates abstractions that make it possible to cost-effectively model check specifications of software for graphical user interface (GUI) systems. We identify useful abstractions for this domain and demonstrate that they can be incorporated into the analysis of a variety of systems with similar structural characteristics. The resulting domain-specific model checking yields fast verification of naturally occur ring specifications of intended GUI behavior.

Keywords

Model Check Graphical User Interface Transition System Computation Tree Logic Material Safety Data Sheet 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    R. Anderson, P. Beame, S. Burns, W. Chan, F. Modugno, D. Notkin, and J. Reese. Model checking large software specifications. Software Engineering Notes, 21(6):156–166, Nov. 1996. Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering.Google Scholar
  2. [2]
    G. Avrunin, U. Buy, J. Corbett, L. Dillon, and J. Wileden. Automated analysis of concurrent systems with the constrained expression toolset. IEEE Transactions on Software Engineering, 17(11):1204–1222, Nov. 1991.Google Scholar
  3. [3]
    E. Clarke, O. Grumberg, and D. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, Sept. 1994.Google Scholar
  4. [4]
    R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics based tool for the verification of concurrent systems. ACM Transactions on Programming Languages and Systems, 15(1):36–72, Jan. 1993.Google Scholar
  5. [5]
    J. Corbett. Evaluating deadlock detection methods for concurrent software. IEEE Transactions on Software Engineering, 22(3), Mar. 1996. 15.Google Scholar
  6. [6]
    D. Dams. Abstract Interpretation and Partition Refinement for Model Checking. PhD thesis, Eindhoven University of Technology, May 1996.Google Scholar
  7. [7]
    L. K. Dillon, G. Kutty, L. E. Moser, P. M. Melliar-Smith, and Y. S. Ramakrishna. A graphical interval logic for specifying concurrent systems. ACM Transactions on Software Engineering and Methodology, 3(2):131–165, Apr. 1994.Google Scholar
  8. [8]
    M. Dwyer and L. Clarke. Data flow analysis for verifying properties of concurrent programs. Software Engineering Notes, 19(5):62–75, Dec. 1994. Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering.Google Scholar
  9. [9]
    D. Jackson. Abstract model checking of infinite specifications. In Proceedings of FME'94: Industrial Benefit of Formal Methods, Second International Symposium of Formal Methods Europe, pages 519–531, Oct. 1994. Springer-Verlag.Google Scholar
  10. [10]
    R. Jacob. Using formal specifications in the design of a human-computer interface. Communications of the ACM, 26(4):259–264, Apr. 1983.Google Scholar
  11. [11]
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1991.Google Scholar
  12. [12]
    K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
  13. [13]
    B. Myers. User interface software tools. ACM Transactions on ComputerHuman Interaction, 2(1):64–103, Mar. 1995.Google Scholar
  14. [14]
    K. Olender and L. Osterweil. Cecil: A sequencing constraint language for automatic static analysis generation. IEEE Transactions on Software Engineering, 16(3):268–280, Mar. 1990.Google Scholar
  15. [15]
    A. Wasserman. Extending state transition diagrams for the specification of human-computer interaction. IEEE Transactions on Software Engineering, SE-11(8):699–713, Aug. 1985.Google Scholar
  16. [16]
    J. Wing and M. Vaziri-Farahani. Model checking software systems: A case study. Software Engineering Notes, 20(4):128–139, Oct. 1995. Proceedings of the Third ACM SIGSOFT Symposium on the Foundations of Software Engineering.Google Scholar
  17. [17]
    M. Young, R. Taylor, D. Levine, K. Nies, and D. Brodbeck. A concurrency analysis tool suite: Rationale, design, and preliminary experience. ACM Transactions on Software Engineering and Methodology, 4(1):64–106, Jan. 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Matthew B. Dwyer
    • 1
  • Vicki Carr
    • 1
  • Laura Hines
    • 1
  1. 1.Department of Computing and Information SciencesManhattanUSA

Personalised recommendations