Learn More
Before we build any piece of software we would, surely, need to be certain that what we intend to build is what is required by the users of that software. In addition, we would want to be sure that the proposed software will behave as expected, do the right thing under all circumstances and also be usable. These functional and usability requirements are(More)
Formal approaches to software development require that we correctly describe (or specify) systems in order to prove properties about our proposed solution prior to building it. We must then follow a rigorous process to transform our specification into an implementation to ensure that the properties we have proved are retained. Different transformation, or(More)
Testing interactive systems is a notoriously difficult task. Not only do we need to ensure that the functionality of the developed system is correct with respect to the requirements and specifications, but also we need to ensure that the user interface (UI) to the system is correct (enables a user to access the functionality correctly) and is usable. These(More)