11 research outputs found

    Static Analysis for Java Servlets and JSP

    Get PDF
    We present an approach for statically reasoning about the behavior of Web applications that are developed using Java Servlets and JSP. Specifically, we attack the problems of guaranteeing that all output is well-formed and valid XML and ensuring consistency of XHTML form fields and session state. Our approach builds on a collection of program analysis techniques developed earlier in the JWIG and XACT projects, combined with work on balanced context-free grammars. Together, this provides the necessary foundation concerning reasoning about output streams and application control flow

    Balanced Context-Free Grammars, Hedge Grammars and Pushdown Caterpillar Automata

    No full text
    The XML community generally takes trees and hedges as the model for XML document instances and element content. In contrast, Berstel and Boasson have discussed XML documents in the framework of extended context-free grammar, modeling XML documents as Dyck strings and schemas as balanced grammars. How can these two models be brought closer together? We examine the close relatioship between Dyck strings and hedges, observing that trees and hedges are higher level abstractions than are Dyck primes and Dyck strings. We then argue that hedge grammars are effecively identical to balanced grammars and that balanced languages are identical to regular hedge languages, modulo encoding. From the close relationship between Dyck strings and hedges, we obtain a two-phase architecture for the parsing of balanced languages. We propose caterpillar automata with an additional pushdown stack as a new computational model for the second phase; that is, for the validation of XML documents

    Well-Formed and Scalable Invasive Software Composition

    Get PDF
    Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect. Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps. Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions. Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions. All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons

    University catalog, 2016-2017

    Get PDF
    The catalog is a comprehensive reference for your academic studies. It includes a list of all degree programs offered at MU, including bachelors, masters, specialists, doctorates, minors, certificates, and emphasis areas. It details the university wide requirements, the curricular requirements for each program, and in some cases provides a sample plan of study. The catalog includes a complete listing and description of approved courses. It also provides information on academic policies, contact information for supporting offices, and a complete listing of faculty members. -- Page 3

    2016-2017 Course Catalog

    Get PDF
    An annual catalog of courses and course descriptions offered at the University of Montana.https://scholarworks.umt.edu/coursecatalogs_asc/1047/thumbnail.jp

    University catalog, 2019-2020

    Get PDF

    University catalog, 2018-19

    Get PDF
    Welcome to the University of Missouri 2018-2019 catalog! We are pleased to provide an interactive and searchable catalog online. The catalog is a comprehensive reference for your academic studies. It includes a list of all degree programs offered at MU, including bachelors, masters, specialists, doctorates, minors, certificates, and emphasis areas. It details the university wide requirements, the curricular requirements for each program, and in some cases provides a sample plan of study. The catalog includes a complete listing and description of approved courses. It also provides information on academic policies, contact information for supporting offices, and a complete listing of faculty members. Information in the catalog is current as of May 2018.--Page 17

    2015-2016 Course Catalog

    Get PDF
    An annual catalog of courses and course descriptions offered at the University of Montana.https://scholarworks.umt.edu/coursecatalogs_asc/1046/thumbnail.jp

    2014-2015 Course Catalog

    Get PDF
    An annual catalog of courses and course descriptions offered at the University of Montana.https://scholarworks.umt.edu/coursecatalogs_asc/1045/thumbnail.jp
    corecore