"uuid","repository link","title","author","contributor","publication year","abstract","subject topic","language","publication type","publisher","isbn","issn","patent","patent status","bibliographic note","access restriction","embargo date","faculty","department","research group","programme","project","coordinates" "uuid:588b78a1-f8d8-45fc-855f-fd03699725cf","http://resolver.tudelft.nl/uuid:588b78a1-f8d8-45fc-855f-fd03699725cf","Static Consistency Checking of Web Applications with WebDSL","Hemel, Z.; Groenewegen, D.M.; Kats, L.C.L.; Visser, E.","","2010","Modern web application development frameworks provide web application developers with highlevel abstractions to improve their productivity. However, their support for static verification of applications is limited. Inconsistencies in an application are often not detected statically, but appear as errors at run-time. The reports about these errors are often obscure and hard to trace back to the source of the inconsistency. A major part of this inadequate consistency checking can be traced back to the lack of linguistic integration of these frameworks. Parts of an applications are defined with separate domain-specific languages, which are not checked for consistency with the rest of the application. Examples include regular expressions, query languages and XMLbased languages for definition of user interfaces. We give an overview and analysis of typical problems arising in development with frameworks for web application development, with Ruby on Rails, Lift and Seam as representatives. To remedy these problems, in this paper, we argue that domain-specific languages should be designed from the ground up with static verification and cross-aspect consistency checking in mind, providing linguistic integration of domain-specific sub-languages. We show how this approach is applied in the design of WebDSL, a domain-specific language for web applications, by examining how its compiler detects inconsistencies not caught by web frameworks, providing accurate and clear error messages. Furthermore, we show how this consistency analysis can be expressed with a declarative rule-based approach using the Stratego transformation language. Preprint accepted for publication in Journal of Symbolic Computation, special issue about Automated Specification and Verification of Web Systems, Elsevier 2010","domain-specific language; web application development; linguistic integration; consistency checking; verification; static analysis","en","report","Delft University of Technology, Software Engineering Research Group","","","","","","","","Electrical Engineering, Mathematics and Computer Science","Software Technology","","","",""