| J.Q. Ning, A. Engberts, and W. Kozaczynski, "Recovering reusable components from legacy systems by program segmentation", Proceedings of Working Conference on Reverse Engineering, Baltimore, Maryland, U.S.A., IEEE CS Press, 1993, pp. 64-72. |
....[14] conditioned slices are interactively computed: the software engineer is required to make decisions the symbolic executor cannot make. An automatic conditioned slicer has been implemented by Danicic et al. 26] Different variants of conditioned slicing have been presented in the literature [71, 31]. Ning et al. 71] proposed a tool, called COBOL SRE, to extract different types of slices from legacy systems, in particular condition based slices. The user specifies a logical expression and a slicing range and the tool automatically isolate the statements that can be reached along control flow ....
....are interactively computed: the software engineer is required to make decisions the symbolic executor cannot make. An automatic conditioned slicer has been implemented by Danicic et al. 26] Different variants of conditioned slicing have been presented in the literature [71, 31] Ning et al. [71] proposed a tool, called COBOL SRE, to extract different types of slices from legacy systems, in particular condition based slices. The user specifies a logical expression and a slicing range and the tool automatically isolate the statements that can be reached along control flow paths under the ....
[Article contains additional citation context not shown here]
J.Q. Ning, A. Engberts, and W. Kozaczynski, "Recovering reusable components from legacy systems by program segmentation", Proceedings of Working Conference on Reverse Engineering, Baltimore, Maryland, U.S.A., IEEE CS Press, 1993, pp. 64-72.
....the latter kind may be automated even if the user does not rely on one of the (heuristic) re design algorithms to be described below. 4.4. Re design algorithms On top of these base operations, several re design algorithms have been implemented which have been proposed in the literature, e.g. in [13, 14, 15]. Since a manual re design using the base operations is too extensive for large legacy systems, algorithms can support a re engineering expert in nding candidates for components of a target architecture. In a second step, the re engineer can interactively use the base operations or tune ....
....approach which however may be completely suf cient for distribution (apart from that, no architectural reorganization) Sometimes it is even the only possibility to take full advantage of a legacy system controlled by new system components. This algorithm and the following one were triggered by [15]. The second approach maps programs to classes with multiple methods. Again, a program is mapped onto a class, but in addition paragraphs sections are mapped onto exported methods. This is a more ne grained transformation, which allows one to access the functionality of a class through multiple ....
[Article contains additional citation context not shown here]
Ning JQ, Engberts A, Kozaczynski W. Recovering reusable components from legacy systems by program segmentation. Proceedings Working Conference on Reverse Engineering WCRE 1993. IEEE Computer Society Press: Los Alamitos CA, 1993; 64 72.
....the interface slicing of [BE93] the user selects some subset of the operations of a module, and the tool uses the call graph to eliminate operations that are dead code. Only a few slicing tools have been built for commercial use, and most of these are for Cobol. Andersen Consulting s Cobol SRE [NEK93, NEK94] is probably the most complete: it does PDG based forward and backward slicing, as well as condition based slicing which is really not slicing at all, but rather a kind of partial evaluation. Procedures are rarely used in Cobol, so interprocedural analyses are unnecessary; perform statements are ....
Jim Q. Ning, Andre Engberts and Wojtek Kozaczynski. Recovering reusable components from legacy systems by program segmentation. Proc. Working Conference on Reverse Engineering, Baltimore, May 1993, pp. 64--72.
....English language must be developed. 3. Clustering source code components Clustering of source code based on semantic and structural information is very useful in the maintenance and evolution of legacy sot tware systems. For instance, the clustering can be used to assist in the remodularization [37, 38, 49] of systems and the identification of abstract data types [8, 17] If the system were to be reengineered into an object oriented language from a structured one, this type of clustering would prove to be very useful. The objective is to reduce the amount of source code an engineer needs to view at ....
Ning, J. Q., Engberts, A., and Kozaczynski, W., "Recovering Reusable Components from Legacy Systems", in Proceedings of Working Conference on Reverse Engineering, 1993.
.... written in IBM 370 assemble language; XREF XREFDB[2] developed for C , C and Pascal by Brown University, aiming to support maintaining programs, especially object oriented programs; OOTM[3] developed by University of Texas at Arlington, mainly supporting object oriented testing; COBOL SRE[4], a set of reengineering tools to support reusable component recovery process; and GRASP Ada[5] focusing on reverse engineering of control structure diagrams from Ada PDL or source code. However, very few of them have been implemented in the context of a tool kit to simultaneously support several ....
Jim Q. Ning, Andre Engberts, and Wojtek Kozaczynski, "Recovering Reusable Components from Legacy Systems by Program Segmentation," Proceedings: Working Conference on reverse engineering, Baltimore, Maryland, May 21-23, 1993, 64-72.
....the components and or connectors of a system. In program comprehension or in architectural restructuring and reuse, slicing may be useful to separate code according to the different functionalities accomplished. Program slicing has been used to segment large legacy systems written in Cobol [24] and also to identify reusable functions within C code [25] For example, considering again Fig. 5, by merging the slices obtained on the variables used by the (socket, bind, listen) system calls at the end of the net slisten function, a compilable and executable code to open a socket from the ....
J.Q. Ning, A. Engberts and W. Kozaczynsky, "Recovering Reusable Components from Legacy Systems by Program Segmentation", Proc. 1st Working Conference on Reverse Engineering, Baltimore, USA, 1993.
....to be re engineered. Di#erent re engineering tools have di#erent purposes. They can find certain structures or patterns from the program (e.g. 17, 87] generate new documents about the program (e.g. 20, 51, 79] or visualize the program and provide special editors to browse the program (e.g. [21, 68, 82, 83, 91]) Here, we 23 do not distinguish re engineering and reverse engineering tools. Tools are typically needed in reverse engineering phase of re engineering, and thus, also reverse engineering tools can be exploited in re engineering. Some of the re engineering tools are based on the lexical ....
Ning, J. Q., Engberts, A., Kozaczynski, W., Recovering reusable components from legacy systems by program segmentation, Proceedings of the Working Conference on Reverse Engineering, Baltimore, Maryland, May 1993, 64--72.
....improved performance, improved usability, or simply the removal of bugs. It may also be necessary to upgrade software to run on different platforms, to be written in another (e.g. more modern) language, or to use different underlying tools. A common problem mentioned in the literature [9,10] is that of legacy systems. A legacy system is an old piece of software, written in a language such as COBOL which typically runs on an outdated platform. Legacy systems often need to be reimplemented in more modern languages to run on modern platforms. Also, it is not uncommon for vital knowledge ....
Ning JQ, Engberts A, Kozaczynski W. Recovering reusable components from legacy systems by program segmentation. In: Waters RC, Chikofsky EJ (eds) Proceedings of the 1st IEEE Working Conference on Reverse Engineering, Baltimore, 21st-23rd May 1993. IEEE Computer Society Press, 1993, pp 64-72
.... that help analysts extract design and structure information can support software reuse (Choi and Scacchi, 1990; Lano and Haughton, 1992; Muller et al. 1993) by helping to locate reusable software components from existing (or legacy) systems (Calliss and Cornelius, 1989; Esteva and Reynolds, 1991; Ning, Engberts and Kozaczynski. 1993). Abstract models represent modules and relationships between modules, and can serve as a basis for measurement (Baker et al. 1990; Gustafson, Tan and Weaver, 1993) An input output dependence graph (IODG) models data and control dependence relationships between module interface components ....
Ning, J.; Engberts, A. and Kozaczynski, W. (1993) `Recovering reusable components from legacy systems by program segmentation,' in Proceedings of the Working Conference on Reverse Engineering, IEEE Computer Society Press, Los Alamitos CA, pp. 64--72.
....is the definition and development of reusable elements, such as software components, objects, parts of the system documentation, etc. Reverse engineering supports this task by providing various kinds of system documentation, but also by identifying reusable components within existing systems (e.g. [1, 33, 16]) Based on those aims various benefits can be achieved, such as: maintenance cost savings, quality improvements, competitive advantages, or software reuse facilitation. Savings of cost during the maintenance phase are obvious when considering the important role of the maintenance phase within the ....
Jim Q. Ning, Andre Engberts, and Wojtek Kozaczynski. Recovering reusable components from legacy systems by program segmentation. In Proceedings of the Working Conference in Reverse Engineering, Baltimore, Maryland, pages 64-- 72. IEEE Computer Society, May 21-23 1993.
.... 1989; Cross, 1993; Cohen, 1995; Canfora et al. 1993b; Cordy et al. 1990; Cutillo et al. 1993; Choi and Scacchi, 1990; Chen et al. 1990; Devanbu et al. 1991; Edwards and Munro, 1993; Hall, 1995; Harandi and Ning, 1990; Howden and Pak, 1992; Hausler et al. 1990; Johnson et al. 1992; Ning et al. 1993; Oman and Cook, 1990; Olshefski and Cole, 1993; Ornburn and Rugaber, 1992; Paul and Prakash, 1994b; Quilici, 1993; Rugaber et al. 1990; Ritsch and Sneed, 1993; Rich and Wills, 1990; Johnson and Soloway, 1985; Vliet, 1993; Wills, 1993; Waters and Chikofsky, 1993; Wilde et al. 1992; Zuylen, ....
.... 1994; Gallagher and Lyle, 1991; J rgensen, 1995; Schneidewind, 1987b; Kellner, 1992; Pickard and Carter, 1995; Paul and Prakash, 1994a; Hartmann and Robson, 1990 ] Program slicing A survey of program slicing techniques is given in [ Tip, 1995 ] Other references are: Beck and Eichmann, 1993; Ning et al. 1993; Cutillo et al. 1993; Gallagher and Lyle, 1991; Olshefski and Cole, 1993; Binkley, 1992; Hall, 1995; Weiser, 1984; Gupta et al. 1992 ] Reverse engineering of data and databases One the first books on data reverse engineering is [ Aiken, 1995 ] Other references are: Aiken et al. 1993; ....
[Article contains additional citation context not shown here]
J. Ning, A. Engberts, and W. Kozaczynski. Recovering reusable components from legacy systems. In [Waters and Chikofsky, 1993] , pages 64--72, 1993. Gives an overview of the program segmentation facilities of the COBOL/SRE system, which are based on various forms of program slicing.
....analysing the values that metric assumes when applied to software components with high frequency of reuse [20, 58] METTYP candidature criteria are specialised to search for only one type of abstraction. Examples of abstractions that can be recovered include external and internal functionalities [33, 48, 94, 104, 134], I O and error handlers [123] front end user interfaces [99] data base transactions [89, 122] data structures [24, 58, 97] abstract data types [25, 31, 96, 97] domain applications objects and classes [27, 35, 65, 138] Based on a descriptions of the type of abstractions to be identified, ....
....the variables in the set V out of the slicing criterion correspond to the output data of the function to be isolated and the selected code fragments (program slices) satisfy the transitive closure on the control and data flow dependencies from the program point s out . For example, Ning et al. [104] use program slicing within the tool COBOL SRE to segment large legacy systems written in COBOL. In particular, they use both backward and forward slicing techniques. Lanubile and Visaggio [94] give two definitions of slicing for identifying and extracting two main kinds of components in legacy ....
J.Q. Ning, A. Engberts, and W. Kozaczynski, "Recovering reusable components from legacy systems by program segmentation", in Proceedings of 1st Working Conference on Reverse Engineering, Baltimore, Maryland, U.S.A., IEEE Comp. Soc. Press, 1993, pp. 64-72.
....strongly connected components. Compared to these methods, the REBOOT method is more bottom up, i.e. more focussed on being used incrementally to harvest some reusable components from a much larger piece of code, rather than re engineering an entire system. In purpose, it is thus more similar to [34], but this latter approach uses a modularization technique (slicing) which is quite different from REBOOT s. The REBOOT method for identifying strongly connected objects has been made more detailed than its predecessors, to facilitate a higher degree of automation. However, many problems related ....
J. Q. Ning, A. Engberts, and W. Kozaczynski. Recovering reusable components from legacy systems by program segmentation. In Proc. Working Conference on Reverse Engineering. IEEE CS Press, 1993.
....specialized editors for maintenance and re engineering. Rajlich et al. introduce an editor for Fortran programs [45] With this tool, programs can be edited both as text and as a graph. Quite a similar tool for C programs is introduced in [32] Ning et al. introduce an editor for Cobol programs [38, 39]. The authors define program segments to consist of statements which are semantically related, but not necessarily physically adjacent. With the tool, these kinds of program segments can be isolated from other program text to examine them more precisely. In addition, program slicing is possible. ....
J. Q. Ning, A. Engberts, W. Kozaczynski, Recovering reusable components from legacy systems by program segmentation, Proceedings of the Working Conference on Reverse Engineering, Baltimore, Maryland, May 1993, 64-72.
....and interprocedural level [12] An enhanced slicing algorithm based on dependence graphs [6] also allows the computation of correct slices in the presence of goto statements. Static slicing can be used in program comprehension to identify the subset of a program corresponding to a functionality [8, 17, 19]. In this case, the set of variables V in the slicing criterion corresponds to the set of output variables of the function, while the statement p corresponds to the last statement of the function. The process of identifying a slicing criterion requires the knowledge of the data model and how it ....
J.Q. Ning, A. Engberts, and W. Kozaczynski, "Recovering reusable components from legacy systems by program segmentation", in Proc.s of 1st Work. Conf. on Rev. Eng., Baltimore, Maryland, U.S.A., IEEE CS Press, 1993, pp. 64-72.
....that focus on COBOL. For instance, in [GBW95] the re engineering of 50,000 lines of COBOL to Ada is described. The goal was to do it as automatically as possible using compiler construction techniques. An example of the use of program slicing to aid in re engineering COBOL can be found in [NEK93] and [CFV93] In [NM93] Software Refinery, a tool originally developed primarily to generate programming environments, is used to build a modularization tool for COBOL. In [Zuy93] aspects of re engineering and their relation to language technology are discussed. We mention the compilation of ....
J. Ning, A. Engberts, and W. Kozaczynski. Recovering reusable components from legacy systems. In [WC93], pages 64--72, 1993.
....the actual implementation and have provided the programmer with a mechanism for recording these links. Given these links, however, all of these queries can be answered quite efficiently, essentially with simple graph traversal techniques. 5 Related work Our work is closely related to COBOL SRE [12]. That system allows its users to create segments by highlighting arbitrary sections of code. These segments can then be combined using set like insertion, union, and difference operations, extracted from code into separate files, and stored along with comments describing their function. The key ....
J.Q. Ning, A. Engberts, and W. Kozaczynski. "Recovering Reusable Components from Legacy Systems by Program Segmentation." In Proceedings of the Working Conference on ReverseEngineering, Baltimore, MD, May, 1993, pp. 64--72.
No context found.
Ning, J. Q., Engberts, A., and Kozaczynski, W., "Recovering Reusable Components from Legacy Systems", in Proc. of Working Conference on Reverse Engineering, 1993.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC