Towards GUI Functional Verification using Abstract Interpretation

Abstract interpretation is a static analysis technique used mostly for non-functional verification of software. In this paper, we show the status of the technology that implements abstract interpretation which can help in GUI-based software verification. Specifically, we investigate the use of the Julia tool for the functional verification of a Graphical User Interface (GUI).

[1]  Patrick Cousot,et al.  Abstract interpretation: past, present and future , 2014, CSL-LICS.

[2]  Fausto Spoto,et al.  Julia: A Generic Static Analyser for the Java Bytecode , 2005 .

[3]  Fausto Spoto,et al.  Class analyses as abstract interpretations of trace semantics , 2003, TOPL.

[4]  Reinhard Wilhelm,et al.  An abstract interpretation-based timing validation of hard real-time avionics software , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[5]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[6]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[7]  Jean-Louis Boulanger Static Analysis of Software: The Abstract Interpretation , 2011 .

[8]  Étienne Payet,et al.  A termination analyzer for Java bytecode based on path-length , 2010, TOPL.

[9]  Patrick Cousot,et al.  A gentle introduction to formal verification of computer systems by abstract interpretation , 2010, Logics and Languages for Reliability and Security.

[10]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[11]  Pietro Ferrara,et al.  Security Analysis of the OWASP Benchmark with Julia , 2017, ITASEC.

[12]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .