Aspect-Oriented GUI Verification Framework

An aspect-oriented framework for GUI data run-time verification assessment


The Aspect-Oriented GUI Verification Framework presents a dynamic approach to analyze input data in graphical user interfaces (GUIs) during user interaction. This framework describes a verification layer located between the GUI and the business logic. This layer uses the information contained in the GUI events to detect changes in the GUI values. Once a change is detected, a verification process is triggered to determine whether the related requirements in the SRS are met. In order to ease the process, the verification rules are included in separate files, and the verification process (and its logic) is transparent to the developer.


This solution makes verification an integral part of the development, testing, and execution processes; it can assist software developers during the development process, testers during the testing phase, and end-users during software use. It allows developers to properly build a complete verification solution into a software, whose aim is to establish a trust relationship between the GUI and the business logic that guarantees input tolerance. It is also open and adaptable, which means that it could be adapted to many verification environments in which it could be possible to use different windowing systems or verification languages.

The separation between source code and verification rules provides a lot of advantages, as a high modularization and encapsulation, and a high readability of the code and the rules. The aspect-oriented nature of this solution improves also its logical decoupling, reporting lots of benefits as a clearer code, specialization, debugging, and a high control over the whole verification process. Ease to reuse is also improved thanks to this separation. The fact that it is necessary to deeply deal with the SRS document and the GUI design allow developers to find potential problems very early, improving both the requirements specification and the GUI design. Finally, GUI Intervention completes which is a rich and interactive verification experience.

Framework implementation

The framework has been implemented for the Qt windowing system and the Lua and ChaiScript? verification languages. Besides other features, it supports dynamic rules update, widget name spacing, and some GUI interventions (e.g. widget highlighting and unfulfilled rules show.) The framework has been also tested on real industrial scenarios, presenting promising results in overall behavior and performance.

Framework integration

This solution has been designed as an aspect-oriented service, and works in parallel while the application is running. It is integrated seamless into a software development: the whole service is encapsulated in a single object, and it uses an additional context-object in which it is encapsulated all the information needed during the verification process.

How does it work?

Here you can watch a video that shows a preview of the framework operation:

Download

The Aspect-Oriented GUI Verification Framework can be downloaded from SourceForge. Click  here to download.

For Debian distributions, you can download the .DEB packages here:

 Qt & Lua Verification Layer

 Qt & Chaiscript Verification Layer

 CSU VVL (Validation&Verification Layer) Library

 CSU Base Library

 CSU Qt Library

For other distributions or .TAR.GZ packages visit the  files section in Sourceforge.