Results 1 -
6 of
6
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.
Generation of Software Renovation Factories from Compilers
- Proceedings of the International Conference on Software Maintenance
, 1999
"... When a compiler is designed carefully, it is possible to extract its grammar. We reengineer the extracted grammar to one that is geared towards reengineering. From this reengineering grammar we generate an architecture called a software renovation factory. This includes: generic analysis and transfo ..."
Abstract
-
Cited by 17 (8 self)
- Add to MetaCart
When a compiler is designed carefully, it is possible to extract its grammar. We reengineer the extracted grammar to one that is geared towards reengineering. From this reengineering grammar we generate an architecture called a software renovation factory. This includes: generic analysis and transformation functionality and a native pattern language using the concrete syntax of the language for which the renovation is necessary. Moreover, we generate the grammar in HTML format so that reengineers can quickly understand the language. We applied our approach successfully to an exceptionally complex and large proprietary language. Our approach enables rapid development of software renovation factories. We believe that our approach can partly solve the lack of Year 2000 tool support for many languages. Categories and Subject Description: D.2.6 [Software Engineering ]: Programming Environments---Interactive; D.2.7 [Software Engineering]: Distribution and Maintenance--- Restructuring; D.3.4...
A Rule-Based Language for Programming Software Updates
- In 3rd ACM SIGPLAN Workshop on Rule-Based Programming
, 2002
"... We describe the design of a rule-based language for expressing changes to Haskell programs in a systematic and reliable way. The update language essentially offers update commands for all constructs of the object language (a subset of Haskell). The update language can be translated into a core calcu ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We describe the design of a rule-based language for expressing changes to Haskell programs in a systematic and reliable way. The update language essentially offers update commands for all constructs of the object language (a subset of Haskell). The update language can be translated into a core calculus consisting of a small set of basic updates and update combinators. The key construct of the core calculus is a scope update mechanism that allows (and enforces) update specifications for the definition of a symbol together with all of its uses. The type of an update program is given by the possible type changes it can cause for an object programs. We have developed a typechange inference system to automatically infer type changes for updates. Updates for which a type change can be successfully inferred and that satisfy an additional structural condition can be shown to preserve type correctness of object programs. In this paper we define the Haskell Update Language HULA and give a translation into the core update calculus. We illustrate HULA and its translation into the core calculus by several examples.
Automated mass maintenance of a software portfolio
- Science of Computer Programming
"... This is an experience report on automated mass maintenance of a large Cobol software portfolio. A company in the financial services and insurance industry upgraded their database system to a new version, affecting their entire software portfolio. The database system was accessed by the portfolio of ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This is an experience report on automated mass maintenance of a large Cobol software portfolio. A company in the financial services and insurance industry upgraded their database system to a new version, affecting their entire software portfolio. The database system was accessed by the portfolio of 45 systems, totalling nearly 3000 programs and covering over 4 million lines of Cobol code. We upgraded the programs to the new database version using several automatic tools, and we performed an automated analysis supporting further manual modifications by the system experts. The automatic tools were built using a combination of lexical and syntactic technology, and they were deployed in a mass update factory to allow large-scale application to the software portfolio. The updated portfolio has been accepted and taken into production by the company, serving over 600 employees with the new database version. In this paper, we discuss the automated upgrade from problem statement to project costs. c ○ 2006 Elsevier B.V. All rights reserved.
Automated mass maintenance of software assets
, 2006
"... Automated mass maintenance of software assets ..."
The Realities of Large Software Portfolios
, 2000
"... Large software portfolios (and by large portfolios we mean millions of lines of code) pose a unique category of nonintuitive problems for organizations dealing with massive software modifications. These problems lay dormant, gathering disruptive capability, until projects such as the Euro conversion ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Large software portfolios (and by large portfolios we mean millions of lines of code) pose a unique category of nonintuitive problems for organizations dealing with massive software modifications. These problems lay dormant, gathering disruptive capability, until projects such as the Euro conversion, or the software integration of merging companies bring them to light, often with devasting consequences. This paper will identify the problems, the difficulties they present, and touch upon some of the remedies. Categories and Subject Description: D.2.7 [Software Engineering ]: Distribution and Maintenance---Restructuring. Additional Key Words and Phrases: Reengineering, System renovation, Software renovation factories, COBOL. 1 Introduction Owning a large software portfolio does not merely mean having a lot of software, just the same way that being deaf does not merely mean that you cannot hear. Deaf people need a special alarm clock, pay on the average more for a car insurance, they ...

