A Rule Based System For Web Site Verification D. Ballis 1 J. García-Vivó 2 1 Dip. Matematica e Informatica, Via delle Scienze 206, 33100 Udine, Italy.

Slides:



Advertisements
Similar presentations
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Advertisements

Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
1 How to transform an analyzer into a verifier. 2 OUTLINE OF THE LECTURE a verification technique which combines abstract interpretation and Park’s fixpoint.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
Introduction to Software Testing Chapter 5.5 Input Space Grammars Paul Ammann & Jeff Offutt
CS 355 – Programming Languages
ISBN Chapter 3 Describing Syntax and Semantics.
Chapter 6: Design of Expert Systems
Formal Methods. Importance of high quality software ● Software has increasingly significant in our everyday activities - manages our bank accounts - pays.
Chapter3: Language Translation issues
Chapter 3 Describing Syntax and Semantics Sections 1-3.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Chapter 3 Describing Syntax and Semantics Sections 1-3.
Compiler Construction
Chapter 3 Describing Syntax and Semantics Sections 1-3.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
BİL744 Derleyici Gerçekleştirimi (Compiler Design)1.
Programming Fundamentals (750113) Ch1. Problem Solving
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
Introducing XHTML: Module B: HTML to XHTML. Goals Understand how XHTML evolved as a language for Web delivery Understand the importance of DTDs Understand.
Technical University of Valencia Computer Science Department SOFSEM’07 (22/01/2007) A Program Slicing Based Method to Filter XML/DTD documents.
XBRL Formula in use: Improving the quality of data Mark Montoya (FDIC) Víctor Morilla (Central Bank of Spain)
Inland ECDIS standard 2.3 UNECE June 16, Content ienc.openecdis.org2www.ris.eu Inland ECDIS expert group and Inland ENC Harmonization Group (IEHG)
Inés Pederiva 1, Jean Vanderdonckt 1,2, Sergio España 1, José Ignacio Panach 1 and Óscar Pastor 1 1 Universidad Politécnica de Valencia, Departamento de.
OPERATING SYSTEMS AND LANGUAGE TRANSLATORS CIS 2380 TERM 2 – LANGUAGE TRANSLATORS Lee McCluskey – 23/09/20151.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Lesson 2-4 Solving Equations with Variables on Both Side August 14, 2014.
2-4 Solving Equations with Variables on Both Sides.
Compiler Phases: Source program Lexical analyzer Syntax analyzer Semantic analyzer Machine-independent code improvement Target code generation Machine-specific.
Compiler Construction Lexical Analysis. The word lexical means textual or verbal or literal. The lexical analysis implemented in the “SCANNER” module.
What toolbox is necessary for building exercise environments for algebraic transformations Rein Prank University of Tartu
XML Data Management 10. Deterministic DTDs and Schemas Werner Nutt.
Learning Automata and Grammars Peter Černo.  The problem of learning or inferring automata and grammars has been studied for decades and has connections.
Object Oriented Methods for Software Development The OO-Method Group Departamento de Sistemas Informáticos.
Review: Compiler Phases: Source program Lexical analyzer Syntax analyzer Semantic analyzer Intermediate code generator Code optimizer Code generator Symbol.
Introduction to JavaScript CS101 Introduction to Computing.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Introduction to Compiling
1 Typing XQuery WANG Zhen (Selina) Something about the Internship Group Name: PROTHEO, Inria, France Research: Rewriting and strategies, Constraints,
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
An Axiomatic Basis for Computer Programming Robert Stewart.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Faithful mapping of model classes to mathematical structures Ádám Darvas ETH Zürich Switzerland Peter Müller Microsoft Research Redmond, WA, USA SAVCBS.
Overview of Compilation Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Principles Lecture 2.
1 Compiler Construction Vana Doufexi office CS dept.
CS416 Compiler Design1. 2 Course Information Instructor : Dr. Ilyas Cicekli –Office: EA504, –Phone: , – Course Web.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Verification and Testing
Chapter 6: Design of Expert Systems
Compiler Lecture 1 CS510.
(One-Path) Reachability Logic
CS416 Compiler Design lec00-outline September 19, 2018
Introduction CI612 Compiler Design CI612 Compiler Design.
Methontology: From Ontological art to Ontological Engineering
Ada – 1983 History’s largest design effort
Review: Compiler Phases:
Programming Fundamentals (750113) Ch1. Problem Solving
Formal Methods in software development
CS 3304 Comparative Languages
CS416 Compiler Design lec00-outline February 23, 2019
Chapter 10: Compilers and Language Translation
Compiler Construction
Lec00-outline May 18, 2019 Compiler Design CS416 Compiler Design.
Representations & Reasoning Systems (RRS) (2.2)
Presentation transcript:

A Rule Based System For Web Site Verification D. Ballis 1 J. García-Vivó 2 1 Dip. Matematica e Informatica, Via delle Scienze 206, Udine, Italy DSIC, Universidad Politécnica de Valencia, Camino de Vera s/n, Apdo , Valencia, Spain.

Motivations Web Sites can have a very complex structure Web Sites can have a very complex structure Development and maintenance of Web sites are difficult tasks Development and maintenance of Web sites are difficult tasks Suitable methodologies are needed to verify Web sites w.r.t. syntactic as well as semantic properties! Suitable methodologies are needed to verify Web sites w.r.t. syntactic as well as semantic properties!

Formal Verification of Web Sites GVerdi, the graphical evolution of the VERDI system, implements: GVerdi, the graphical evolution of the VERDI system, implements: – a rule-based specification language for specifying properties of Web sites – a verification technique for automatically checking whether the conditions are fulfilled and helping to repair faulty Web sites – it allows to detect incorrect and incomplete/missing Web pages

Web Site Denotation A web page is a ground term. Consequently, we represent a Web Site as a finite collection of ground terms of a suitable term algebra A web page is a ground term. Consequently, we represent a Web Site as a finite collection of ground terms of a suitable term algebra member( member( Peter name(“Peter”) Peter name(“Peter”) Hawkins surname (“Hawkins”) Hawkins surname (“Hawkins”) Professor status (“Professor”) Professor status (“Professor”) teaching( teaching( Algebra course (“Algebra”) Algebra course (“Algebra”) ) )

Specification Language A Web specification is a triple (R, I N, I M ) where A Web specification is a triple (R, I N, I M ) where – R is a set of user´s function definitions – I N is a set of correctNess rules – I M is a set of coMpleteness rules

Specification Language Correctness Rules A correctness rule has the following form: A correctness rule has the following form: l -> error | C where - l is a term - l is a term - error is a reserved constant - error is a reserved constant - C is a sequence of equations and membership tests w.r.t. regular languages - C is a sequence of equations and membership tests w.r.t. regular languages e.g. project(year(X)) -> error | X in [0-9]*, X error | X in [0-9]*, X<1990

Specification Language Completeness Rules A completeness rule has de following form: A completeness rule has de following form: l -> r where - l is a term - l is a term - r is a term s. t. Var(r) ⊆ Var(l) - r is a term s. t. Var(r) ⊆ Var(l) e.g. member(name(X),surname(Y))->hpage(name(X),surname(Y),status())

Specification Language Completeness Rules Some symbols in the right-hand side of the rules can be marked by symbol # Some symbols in the right-hand side of the rules can be marked by symbol # Marks are used to select the Web pages on which we want to check a given condition. Marks are used to select the Web pages on which we want to check a given condition. l -> #r e.g. hpage(status(“Professor”) -> #hpage(#status(#“Professor”),teaching)

Rule Interpretation Correctness Rules Correctness Rules l -> error | C if l is recognized in some Web page of W and all the expressions represented in C are evalutaed to True (or C is empty), the web page is incorrect Completeness Rules Completeness Rules l -> #r if l is recognized in some Web page of W, then r must be recognized in some Web page of W which contain the marked part of r

An Example… … first of all, some GVerdi details to be considered: * XML/XHTML Web Pages * Function definitions of R are written in Haskell and saved in the file Defs.hs. Haskell functions which are defined in the Prelude standard library are available too. * wxHaskell-0.8, RegexpLib98 and hxml-0.2 * wxHaskell-0.8, RegexpLib98 and hxml-0.2

Conclusions We presented the system GVerdi We presented the system GVerdi – Written in Haskell – 1100 lines of code (approx.) – Parser for web pages and specifications – Partial Rewriting, Verification Technique and Graphical User Interface We are able to detect missing/incomplete and incorrect Web pages efficiently We are able to detect missing/incomplete and incorrect Web pages efficiently

Future Work Improving Regular Expressions capabilities Improving Regular Expressions capabilities Verification of full XML code (namespaces, attributes, etc.) Verification of full XML code (namespaces, attributes, etc.) Moving towards the verification of dynamic Web sites Moving towards the verification of dynamic Web sites

END