Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
A graphical interval logic for specifying concurrent systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hyperdocuments as automata: verification of trace-based browsing properties by model checking
ACM Transactions on Information Systems (TOIS)
Web proxy servers
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Modeling Web application architectures with UML
Communications of the ACM
Logic in computer science: modelling and reasoning about systems
Logic in computer science: modelling and reasoning about systems
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Synthesis of Communicating Processes from Temporal Logic Specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analysis and testing of Web applications
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Model checking cobweb protocols for verification of HTML frames behavior
Proceedings of the 11th international conference on World Wide Web
PROPEL: an approach supporting property elucidation
Proceedings of the 24th International Conference on Software Engineering
A Formal Methodology to Specify E-commerce Systems
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Fault Model-Driven Test Derivation from Finite State Models: Annotated Bibliography
MOVEP '00 Proceedings of the 4th Summer School on Modeling and Verification of Parallel Processes
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Model Checking the World Wide Web
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Dynamic Model Extraction and Statistical Analysis of Web Applications
WSE '02 Proceedings of the Fourth International Workshop on Web Site Evolution (WSE'02)
Events and Constraints: A Graphical Editor for Capturing Logic Requirements of Programs
RE '01 Proceedings of the Fifth IEEE International Symposium on Requirements Engineering
Confirming Configurations in EFSM Testing
IEEE Transactions on Software Engineering
Verifying Interactive Web Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Dynamic analysis of java applications for multithreaded antipatterns
WODA '05 Proceedings of the third international workshop on Dynamic analysis
A formal approach to property testing in causally consistent distributed traces
Formal Aspects of Computing
Not quite the average: An empirical study of Web use
ACM Transactions on the Web (TWEB)
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
Specification Patterns for Formal Web Verification
ICWE '08 Proceedings of the 2008 Eighth International Conference on Web Engineering
A formal framework for run-time verification of web applications: an approach supported by scope-extended linear temporal logic
Systems and Software Verification: Model-Checking Techniques and Tools
Systems and Software Verification: Model-Checking Techniques and Tools
Binary-search based verification of feature models
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
Design verification of web applications using symbolic model checking
ICWE'05 Proceedings of the 5th international conference on Web Engineering
Hi-index | 0.00 |
Context: In the past decade, the World Wide Web has been subject to rapid changes. Web sites have evolved from static information pages to dynamic and service-oriented applications that are used for a broad range of activities on a daily basis. For this reason, thorough analysis and verification of Web Applications help assure the deployment of high quality applications. Objectives: In this paper, an approach is presented to the formal verification and validation of existing web applications. The approach consists of using execution traces of a web application to automatically generate a communicating automata model. The obtained model is used to model checking the application against predefined properties, to perform regression testing, and for documentation. Methods: Traces used in the proposed approach are collected by monitoring a web application while it is explored by a user or a program. An automata-based model is derived from the collected traces by mapping the pages of the application under test into states and the links and forms used to browse the application into transitions between the states. Properties, meanwhile, express correctness and quality requirements on web applications and might concern all states of the model; in many cases, these properties concern only a proper subset of the states, in which case the model is refined to designate the subset of the global states of interest. A related problem of property specification in Linear Temporal Logic (LTL) over only a subset of states of a system is solved by means of specialized operators that facilitate specifying properties over propositional scopes in a concise and intuitive way. Each scope constitutes a subset of states that satisfy a propositional logic formula. Results: An implementation of the verification approach that uses the model checker Spin is presented where an integrated toolset is developed and empirical results are shown. Also, Linear Temporal Logic is extended with propositional scopes. Conclusion: a formal approach is developed to build a finite automata model tuned to features of web applications that have to be validated, while delegating the task of property verification to an existing model checker. Also, the problem of property specification in LTL over a subset of the states of a given system is addressed, and a generic and practical solution is proposed which does not require any changes in the system model by defining specialized operators in LTL using scopes.