Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 COBOL Research at the Free University in Amsterdam
COBOL Research at the Free University in Amsterdam
The research group "IT-Management and Software Engineering" at the
Free University of Amsterdam (abbreviated by VU Amsterdam)
has Software Asset Management as one of its main themes.
With software assets we mean valuable, recent or already long existing, IT-systems that are the basis for almost all organizations today. We do our research with industrial partners like ABN AMRO, PinkRoccade Getronics and Philips.
As COBOL is still the "market leader" when it comes to programming languages we focus on COBOL, for a further motivation we refer to Ralf Lämmel's presentation
"Stop bashing COBOL" [.pdf].
This research is currently funded by the
CaLCE project.
Take a look at our Cobol research laboratory !
Click here for the "Cobol is cool" article in Computable on the Cobol Future 2005 event.
HOSE,
our site on the upcoming Handbook of Software Evolution
LPPR,
our site on the LPPR project (LPPR: Language-Parametric Program Restructuring)
SERIOUS,
our planned project with Philips, Infosupport and many other European partners. The Dutch funding is currently being evaluated in the SENTER program "Technologische Samenwerking".
Niels Veerman:
Revitalizing modifiability of legacy assets CSMR 2003, Conference on Software Maintenance and Reengineering
Journal of Software Maintenance and Evolution
Volume 16, Number 4-5, pages 219-254
Ralf Lämmel and Chris Verhoef:
Semi-Automatic Grammar Recovery Software Practice & Experience
Volume 31, Number 15, pages 1395-1438, December 2001
For more papers see also above mentioned home pages and related web sites.
CaLCE -pilot on COBOL Standardization.
In this pilot we standardize several of the guidelines that are currently in use within the various teams of a large maintenance shop.
These guidelines concern (1) the standardization of the syntax (use of scope terminators, consequent use of terminating period, etc), (2) consistent layout, (3) consistent naming conventions and (4) detection of dangerous control-flow.
CaLCE -pilot on the selection of subsystems.
In this pilot we detect two subsystems in a system that consists of a large collection of COBOL source code files.
The business motivation is that the system itself has become redundant, only the two relevant subsystems have to remain in production. The analysis is implemented by the new RSCRIPT technology of Paul Klint
CaLCE -pilot on system modernization.
In this pilot we have investigated how a system can be migrated to a J2EE or .NET platform.
Currently the system is implemented on a proprietary legacy platform, it contains a large number of screen definitions which will have to be implemented as web-pages.
Also the relational database has to be migrated to a modern equivalent, like Oracle.
COBOL Standardization and Grammar Engineering.
Language definitions, like the ISO Standards for COBOL, C and Fortran,
are large documents without a formal structure. The actual structure of the
language (the grammar) may be given in so called Syntax Diagrams or in
(Extended) BNF productions. Additional requirements are given in text,
which has to be taken into account when reading the grammar.
Tool developers (like compiler constructors, but also those who develop source code analysis tools which are to be used in the maintainance of the software systems) base the development of their tools heavily on the grammar.
However, their grammars are formulated in specific grammar formalisms (like YACC) which are used with parser generator technologies like LL, LR or LALR(k).
These parsing technologies do not support the full class of Context Free languages and several changes have to be applied to the grammar.
As a result, the road from the language standard to an applicable grammar is long and error-prone.
As a consequence, the correspondence between the language standard and the final grammar is unclear.
In order to bridge this gap, we have developed a technique which can read a language definition and generates
a browsable, hyperlinked, grammar in EBNF.
(See the paper on Semi-Automatic Grammar Recovery).
It has been applied to, among others, the IBM VSII COBOL Reference Manual.
Currently we are extending this research in the following directions:
Obtain grammars for ISO Standards for COBOL, Fortran and C and the
ECMA standard for C# (grammars in EBNF and in HTML format);
Extend EBNF further such that as much as possible can be formally
expressed in the grammar (and as less as possible has to be defined in
the associated text)
Select or develop a parsing technology that supports the full class of
Context Free languages, such that no changes to the grammar are required;
Develop analyses which detect possible flaws in the design of a grammar
(such as unintended ambiguities);
We hope that our work can help the community of standardization of programming languages to improve the quality of their documents, such that as much as derivates can be generated in an automatic manner.
As we are a member of the COBOL Committee
(ISO/IEC JTC1/SC22/WG4),
we will apply our research to COBOL, but we hope that we can contribute to the commitees of the other programming languages as well.