Results 1 - 10
of
35
GXL: Toward a Standard Exchange Format
- 9/99 HASSAN DIAB, ULRICH FURBACH, HASSAN TABBARA. ON THE USE OF FUZZY TECHNIQUES IN CACHE MEMORY MANAGAMENT. 8/99 JENS WOCH, FRIEDBERT WIDMANN. IMPLEMENTATION OF A SCHEMA-TAG-PARSER
, 2000
"... This paper describes ongoing work toward the development of a standard software exchange format (SEF), for exchanging information among tools that analyze computer programs. A particular exchange format called GXL (Graph Exchange Language) is proposed. GXL can be viewed as a merger of well known for ..."
Abstract
-
Cited by 160 (10 self)
- Add to MetaCart
This paper describes ongoing work toward the development of a standard software exchange format (SEF), for exchanging information among tools that analyze computer programs. A particular exchange format called GXL (Graph Exchange Language) is proposed. GXL can be viewed as a merger of well known formats (e. g. GraX, PROGRES, RPA, RSF, and TA) for exchanging typed, attributed, directed graphs. By using XML as notation, GXL offers a scaleable and adaptable means to facilitate interoperability of reengineering tools.
Towards an Engineering Discipline for GRAMMARWARE
- ACM Transactions on Software Engineering Methodology
, 2003
"... Grammarware comprises grammars and all grammar-dependent software, i.e., software artifacts that directly involve grammar knowledge. The term grammar is meant here in the widest sense to include XML schemas, syntax definitions, interface descriptions, APIs, and interaction protocols. The most obv ..."
Abstract
-
Cited by 91 (7 self)
- Add to MetaCart
Grammarware comprises grammars and all grammar-dependent software, i.e., software artifacts that directly involve grammar knowledge. The term grammar is meant here in the widest sense to include XML schemas, syntax definitions, interface descriptions, APIs, and interaction protocols. The most obvious examples of grammar-dependent software are document processors, parsers, import/export functionality, and generative programming tools. Even though grammarware is so omnipresent, it is somewhat neglected --- from an engineering point of view. We lay out an agenda that is meant to promote research on improving the quality of grammarware and on increasing the productivity of grammarware development.
Generation of Components for Software Renovation Factories from Context-free Grammars
"... We present an approach for the generation of components for a software renovation factory. These components are generated from a context-free grammar definition that recognizes the code that has to be renovated. We generate analysis and transformation components that can be instantiated with a speci ..."
Abstract
-
Cited by 73 (27 self)
- Add to MetaCart
We present an approach for the generation of components for a software renovation factory. These components are generated from a context-free grammar definition that recognizes the code that has to be renovated. We generate analysis and transformation components that can be instantiated with a specific transformation or analysis task. We apply our approach to COBOL and we discuss the construction of realistic software renovation components using our approach.
An XMLbased lightweight C++ fact extractor
- in Proceedings of 11th IEEE International Workshop on Program Comprehension (IWPC'03
, 2003
"... A lightweight fact extractor is presented that utilizes XML tools, such as XPath and XSLT, to extract static information from C++ source code programs. The source code is first converted into an XML representation, srcML, to facilitate the use of a wide variety of XML tools. The method is deemed lig ..."
Abstract
-
Cited by 45 (18 self)
- Add to MetaCart
A lightweight fact extractor is presented that utilizes XML tools, such as XPath and XSLT, to extract static information from C++ source code programs. The source code is first converted into an XML representation, srcML, to facilitate the use of a wide variety of XML tools. The method is deemed lightweight because only a partial parsing of the source is done. Additionally, the technique is quite robust and can be applied to incomplete and non-compile-able source code. The trade off to this approach is that queries on some low level details cannot be directly addressed. This approach is applied to a fact extractor benchmark as comparison with other, abet heavier weight, fact extractors. Fact extractors are widely used to support understanding tasks associated with maintenance, reverse engineering and various other software engineering tasks. 1.
Semi-automatic Grammar Recovery
- SOFTWARE—PRACTICE & EXPERIENCE
, 2001
"... We proposed a new approach for the construction of grammars and parsers for existing languages. The approach is both very powerful and simple. We provided a structured process and explained our methods in detail so that others can apply our ideas for their own grammar construction activities. We ill ..."
Abstract
-
Cited by 39 (9 self)
- Add to MetaCart
We proposed a new approach for the construction of grammars and parsers for existing languages. The approach is both very powerful and simple. We provided a structured process and explained our methods in detail so that others can apply our ideas for their own grammar construction activities. We illustrated the proposed approach with a nontrivial case study. Using our process, we constructed in a few weeks a complete and correct VS COBOL II grammar specification for IBM mainframes. We not only constructed a parser for it, but also published a web-enabled grammar specification so that others can use this result to conveniently construct their own grammar-based tools for VS COBOL II, or derivatives.
Source Code Files as Structured Documents
- in Proceedings of 10th IEEE International Workshop on Program Comprehension (IWPC'02
, 2002
"... A means to add explicit structure to program source code is presented. XML is used to augment source code with syntactic information from the parse tree. More importantly, comments and formatting are preserved and identified for future use by development environments and program comprehension tools. ..."
Abstract
-
Cited by 36 (12 self)
- Add to MetaCart
A means to add explicit structure to program source code is presented. XML is used to augment source code with syntactic information from the parse tree. More importantly, comments and formatting are preserved and identified for future use by development environments and program comprehension tools. The focus is to construct a document representation in XML instead of a more traditional data representation of the source code. This type of representation supports a programmer centric view of the source rather than a compiler centric view. Our representation is made relevant with respect to other research on XML representations of parse trees and program code. The highlights of the representation are presented and the use of queries and transformations discussed.
Restructuring of COBOL/CICS Legacy Systems
"... We provide a strategy to restructure transaction processing systems. Such systems are core assets of most modern business operations, so their enhancement is crucial. Before large-scale renovation of transaction processing systems can take place, they need to be restructured. We argue that teleproce ..."
Abstract
-
Cited by 25 (10 self)
- Add to MetaCart
We provide a strategy to restructure transaction processing systems. Such systems are core assets of most modern business operations, so their enhancement is crucial. Before large-scale renovation of transaction processing systems can take place, they need to be restructured. We argue that teleprocessing systems are unstructured by their nature. In this paper we approach the problems from a technical viewpoint and we report on the methods and tools that are necessary to bring structure in transaction systems.
Native Patterns
- Proceedings of the Fifth Working Conference on Reverse Engineering
, 1998
"... We generate a native pattern language from a context-free grammar. So if we have the underlying grammar of code that needs to be analyzed, or renovated the pattern language comes for free. We use native patterns for recognition and renovation of code. The pattern language is global in the sense that ..."
Abstract
-
Cited by 23 (11 self)
- Add to MetaCart
We generate a native pattern language from a context-free grammar. So if we have the underlying grammar of code that needs to be analyzed, or renovated the pattern language comes for free. We use native patterns for recognition and renovation of code. The pattern language is global in the sense that patterns can match entire programs. We illustrate native patterns by discussing a tool that remediates a notoriously difficult Year 2000 problem using native patterns. Categories and Subject Description: D.2.6 [Software Engineering ]: Programming Environments---Interactive; D.2.7 [Software Engineering]: Distribution and Maintenance--- Restructuring; D.3.4. [Processors]: Parsing. Additional Key Words and Phrases: Reengineering, System renovation, Patterns, Plans, Clich'es, Native pattern language, Year 2000 problem, Leap year problem. 1 Introduction One key task in reengineering software is the recognition of problematic code. For example, for Year 2000 related remediation, it is necessa...
Preprocessor Conditional Removal by Simple Partial Evaluation
- Proceedings; Working Conference on Reverse Engineering (WCRE
, 2001
"... preprocessor, program transformations Preprocessors with conditionals are often used as software configuration management tools, with preprocessor variables naming configuration aspects. The preprocessor conditionals found in large systems often have complex enabling Boolean equations and nesting. O ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
preprocessor, program transformations Preprocessors with conditionals are often used as software configuration management tools, with preprocessor variables naming configuration aspects. The preprocessor conditionals found in large systems often have complex enabling Boolean equations and nesting. Over long periods, some configuration aspects lose all utility. Removal of all traces of a configuration variable and code dependent on that aspect becomes a significant task if performed manually. An industrial-strength transformation system can remove such configuration aspects in a much shorter period of time, by symbolically simplifying away the configuration aspect. This paper sketches the problem, and

