• DocumentCode
    2122512
  • Title

    Deriving tolerant grammars from a base-line grammar

  • Author

    Klusener, Steven ; Lämmel, Ralf

  • Author_Institution
    Software Improvement Group, Vrije Universiteit, Amsterdam, Netherlands
  • fYear
    2003
  • fDate
    22-26 Sept. 2003
  • Firstpage
    179
  • Lastpage
    188
  • Abstract
    A grammar-based approach to tool development in reengineering and reverse engineering promises precise structure awareness, but it is problematic in two respects. Firstly, it is a considerable up-front investment to obtain a grammar for a relevant language or cocktail of languages. Existing work on grammar recovery addresses this concern to some extent. Secondly, it is often not feasible to insist on a precise grammar, e.g., when different dialects need to be covered. This calls for tolerant grammars. In this paper, we provide a well-engineered approach to the derivation of tolerant grammars, which is based on previous work on error recovery, fuzzy parsing, and island grammars. The technology of this paper has been used in a complex Cobol restructuring project on several millions of lines of code in different Cobol dialects. Our approach is founded on an approximation relation between a tolerant grammar and a base-line grammar which serves as a point of reference. Thereby, we avoid false positives and false negatives when parsing constructs of interest in a tolerant mode. Our approach accomplishes the effective derivation of a tolerant grammar from the syntactical structure that is relevant for a certain re- or reverse engineering tool. To this end, the productions for the constructs of interest are reused from the base-line grammar together with further productions that are needed for completion.
  • Keywords
    COBOL; grammars; reverse engineering; software fault tolerance; software maintenance; software tools; systems re-engineering; Cobol; base-line grammar; error recovery; fuzzy parsing; grammar-based approach; island grammars; reengineering tool; reverse engineering; systems analysis; tolerant grammars; tolerant parsing; tool development; Data mining; Investments; Layout; Paper technology; Portfolios; Production; Reverse engineering; Robustness; Software maintenance; Software tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-1905-9
  • Type

    conf

  • DOI
    10.1109/ICSM.2003.1235420
  • Filename
    1235420