By Topic

Software Maintenance and Reengineering, 1997. EUROMICRO 97., First Euromicro Conference on

Date 17-19 March 1997

Filter Results

Displaying Results 1 - 25 of 30
  • Proceedings. First Euromicro Conference on Software Maintenance and Reengineering

    Save to Project icon | Request Permissions | PDF file iconPDF (189 KB)  
    Freely Available from IEEE
  • Session: Year 2000

    Page(s): 93
    Save to Project icon | Request Permissions | PDF file iconPDF (50 KB)  
    Freely Available from IEEE
  • Index of authors

    Page(s): 171
    Save to Project icon | Request Permissions | PDF file iconPDF (39 KB)  
    Freely Available from IEEE
  • Case study in migration to object-oriented system structure using design transformation methods

    Page(s): 128 - 135
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (512 KB)  

    Procedural programming languages are being used extensively in the software industry for a wide range of applications. Most of the old procedural programs used today may not have any documentation which could be used in maintenance processes. There has been a paradigm shift towards object oriented design and programming, from algorithmic decomposition, structured design, and procedural implementation. Hence, there is a growing need to restructure old programs which have a poor architecture during evolutionary processes. It is more economic to restructure existing software into object oriented topology by identifying objects within the subject system than to redesign software starting from scratch. Object identification relies upon program analysis and a study of intercomponent relationships and dependencies. Researchers in re-engineering have proposed some guidelines to identify objects from within the subject systems. Design transformation is the first step in reengineering existing programs, which can be followed by program translation methods to transform a procedural program into the newly identified structure. The paper reports the results of the application of three object identification methods on a sample procedural program. Secondly it provides a design of a system for program component storage and object identification View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Planning Year 2000 transformations using standard tools: an experience report

    Page(s): 94 - 100
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (468 KB)  

    The Year 2000 transformation is by no means merely a problem of computer science, involving coding practice or programming-in-the-small. It turns out that the Year 2000 problem is mainly a project management problem. To plan and control a Year 2000 transformation one has to discover the facts on which all planning is based on. In this paper, we describe a straightforward approach to gather the facts relevant for a Year 2000 coarse-grained planning. It was done in a customer engagement at a large German insurance company. The engagement was done completely at the customer's site using only standard tools, which are most likely installed in each larger organization View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • New challenges for version control and configuration management: a framework and evaluation

    Page(s): 33 - 41
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (740 KB)  

    Software production of today lays high demands on the capabilities of the software product management (SPM) process. SPM is defined as a process based strongly on the well known approaches of version control (VC) and configuration management (CM). The improvement of SPM demands well designed and implemented VC and CM processes. For this reason, the selection of a suitable VC/CM-tool is an important part of the SPM improvement process. It is necessary to be able to specify the right tool selection criteria for each specific case View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Towards a precise description of reverse engineering methods and tools

    Page(s): 3 - 9
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (588 KB)  

    The potential and limitations of reverse engineering techniques is still a matter of debate and investigation. Both experimental studies and commonsense tell us that design abstractions are useful in program understanding and maintenance. In the case of incomplete program documentation, reverse engineering tools can recover some of the design abstractions from code. However, it is not clear which design abstractions can and which cannot be automatically recovered. This can be attributed to the understandable reluctance of industry to publicize explicit knowledge of this process due to its enormous commercial value and the fact that reverse engineering is a fairly new research discipline. As a start to formalizing what we already know about reverse engineering, we propose a framework for describing and evaluating reverse engineering methods and tools. First, we build design models for a source language and for the recovered design. Then, we describe what a given reverse engineering method or tool achieves as a formal mapping from the source language design model into the recovered design model. We show use object recovery scenarios to illustrate the presented concepts View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A theory driven approach to century change

    Page(s): 101 - 104
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (360 KB)  

    Many people consider the bugs which are expected to appear in software at the change of the century to be a normal maintenance issue. In this paper, we show that there are some significant differences. Taking advantage of these differences may help to lower migration costs. We look at how organizations adapt their maintenance capabilities to the maintenance demand. Under normal conditions, this strategy helps to simultaneously cope with the occurring bug load and to keep costs down. Century-change-related bugs, however, also occur in large quantities in programs that have had very low error rates in the past, bringing organizations into a situation they are not prepared for. We deduce that more mechanical approaches may be more appropriate and more cost-effective. A list of criteria is deduced to find the best approach in a given situation View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Object-oriented analysis of COBOL

    Page(s): 157 - 164
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (660 KB)  

    The object-oriented paradigm is considered as the one which best guarantees the investments for renewal. It allows one to produce software with high degrees of reusability and maintainability, and satisfying certain quality characteristics. These features are not obviously automatically guaranteed by the simple adoption of an object-oriented programming language, so a process of re-analysis is needed. In this view, several methods for reengineering old applications according to the object-oriented paradigm have been defined and proposed. A method and tool (C2O2, COBOL to Object-Oriented) for analyzing COBOL applications in order to extract its object-oriented analysis is presented. The tool identifies classes and their relationships by means of a process of understanding and refinement in which COBOL data structures are analyzed, converted into classes, aggregated, and simplified semi-automatically. The algorithm is also capable of detecting data structures which may cause problems in the Year 2000, as demonstrated with an example View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Incremental redocumentation with hypertext

    Page(s): 68 - 72
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (412 KB)  

    Redocumentation is the recovery and recording of software comprehension. Since software comprehension is the most expensive part of software maintenance, redocumentation is the key to software maintainability. The paper describes the process and the tools of incremental redocumentation where the comprehension of the software is recorded in hypertext, in the style of the World Wide Web. The paper describes the tools which support redocumentation, and gives several examples View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Formal methods

    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (64 KB)  

    Within software reengineering, we will see a growing interest in formal methods in the future, both in semantics (quality) and in metrics (quantity). As software systems become more and more complex, their change management needs to evolve from manual and ad hoc methods to a rigorous discipline. To achieve this, both sides of software engineering, notations and processes, need a clear and integrated semantics on which solid tool support can be built. To satisfy this demand, research on formal methods should take the special requirements of software maintenance and reengineering more into account View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The challenge of the Year 2000 problem

    Page(s): 89 - 91
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (280 KB)  

    Many companies seem to underestimate the activities needed to be compliant with their data processing systems for the Year 2000. This paper describes the issue, the challenges in regard to technology, to quantity, to unknown risks and the challenge to manage all activities. Finally, possible approaches are described to address these challenges View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A rigorous approach to support the maintenance of large portable software

    Page(s): 44 - 47
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (448 KB)  

    Very often, portability of large software products is achieved via the empirical use of old tools like CPP, the preprocessor of the C language. Though powerful low level features like conditional compilation cause serious maintenance problems. There is a lack of adequate tools to support such activities. The paper presents our approach to this problem. We introduce APP, an abstract language semantically equivalent to CPP but based on traditional programming-in-the-small concepts. A rigorous description of the semantics of this language makes it possible to develop reliable reverse engineering tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Managing software evolution through reuse contracts

    Page(s): 165 - 168
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (392 KB)  

    Assessing the impact of changes in one part of a software system on other parts remains one of the most compelling problems in software maintenance. This problem can be relieved by making implicit dependencies between different system parts explicit. We propose to explicitly document interactions between different system parts by means of reuse contracts that can only be manipulated by formal reuse operators. Reuse contracts and their operators facilitate managing the evolution of a software system by indicating how much work is needed to update the system, by pointing out when and which problems might occur and where and how to test and adjust the system View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The task artifact cycle: a conceptual approach to maintenance and reengineering

    Page(s): 17 - 19
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (248 KB)  

    We present a model-the so called task artifact cycle-which integrates the development of a system being in use into the software lifecycle. The basic assumption of the model is that the actual use of a system may considerably differ from the original design. This has to be taken into consideration in maintenance and reengineering. In particular, the monitoring of this development process is an important basis for maintainability View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using evolution constraints to assess the failure-proneness of evolving software

    Page(s): 48 - 51
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (408 KB)  

    It is increasingly common for a software system to experience evolutionary changes during its lifetime. These changes need not only be the result of software maintenance-changes may occur in the operating environment, the purpose of the software, or the manner of implementation. It is often desirable to know how much testing is needed to establish that software is relatively unlikely to fail. Such information can often be provided by methods that use reliability growth models, but these methods have some difficulties when the modification of a program is not the result of debugging. The paper examines the amount of testing needed to establish that an evolving program has a low probability of failure. The number of tests is bounded using evolution constraints, which restrict the forms the software may take as it evolves. The techniques presented here can yield pessimistic results during program repair because they make few assumptions about the repair process. They are most appropriate when applied to software whose initial development is already completed View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A software configuration management system for the maintenance of nuclear power plant simulators

    Page(s): 136 - 139
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (372 KB)  

    The paper reports on the KSG experiences to introduce a configuration management system for the maintenance of nuclear power plant simulator software. A brief overview of the realization is given after a discussion of the KSG specific requirements of a computer based software configuration management system. The paper concludes with a report on the development process of a software configuration management system and on first experiences regarding the use of the system for the maintenance process View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The FAPU Workbench

    Page(s): 82 - 87
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (460 KB)  

    Before software can be adapted to changing economical, organisational and technical conditions, it has to be “understood”. Understanding involves obtaining all the information belonging to the application system in question by means of analysis, interpretation and evaluation of the software's structures (the individual programs of the various program systems plus existing documentation) and of the context and exact nature of its use (e.g. business processes and workflows). Within a program of research into tools supporting application understanding, the Fraunhofer Institut Software- und Systemtechnik (ISST) has developed a prototype of the FAPU (FORTRAN Application and Program Understanding) Workbench. A special feature of FAPU is that it distinguishes between program information and non-program information and enables interactive linking within and between these two types of information. FAPU can handle files consisting of a mixture of programs in different languages, control commands and data. Its robust parser can analyse a wide range of FORTRAN dialects and deal with unknown constructs. The location of comments within the source code is preserved, new comments can be added and existing ones modified. The analysis is always performed with respect to a platform model containing information about the computer type, the operating system and the compiler. As well as many analysis options and the synchronization of their presentation, FAPU also enables visualization of COMMON blocks View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CUI to GUI migration: static analysis of character-based panels

    Page(s): 144 - 149
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (588 KB)  

    The paper reports on progress in the construction of an integrated tool environment for the migration of character-based panels of mainframe applications into graphical user interfaces. It presents an approach for static analysis of character-based panels that is based on the identification of dialog entities in panels using generalized descriptions of panel areas and describes a tool supporting the identification process. The goal of the approach is to increase the level of automation in the migration process compared to existing migration tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A quality-based analysis of architecture recovery environments

    Page(s): 54 - 59
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (584 KB)  

    Architecture recovery is a recent research area which aims at providing reverse engineering technologies to extract high-level architectural information from the source code of legacy systems. The authors review the main (only?) architecture recovery environments proposed thus far. The environments are analysed with respect to different quality attributes, and their features and limitations are discussed. This allows one to highlight problems yet to be addressed in the area and, for some of them, suggest possible alternatives. They believe that this analysis is useful for the design of more effective architecture recovery tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Variable precision reaching definitions analysis for software maintenance

    Page(s): 60 - 67
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (688 KB)  

    A flow analyzer can be very helpful in the process of program understanding, by providing the programmer with different views of the code. As the documentation is often incomplete or inconsistent, it is extremely useful to extract the information a programmer may need directly from the code. Program understanding activities are interactive, thus program analysis tools may be asked for quick answers by the maintainer. Therefore the control on the trade-off between accuracy and efficiency should be given to the user. The paper presents an approach to interprocedural reaching definitions flow analysis based on three levels of precision depending on the sensitivity to the calling context and the control flow. A lower precision degree produces an overestimate of the data dependencies in a program. The result is anyhow conservative (all dependencies which hold are surely reported), and definitely faster than the more accurate counterparts. A tool supporting reaching definition analysis in the three variants has been developed. The results on a test suite show that three orders of magnitude can be gained in execution times by the less accurate analysis, but 57.4% extra dependencies are on average added. The intermediate variant is much more precise (1.6% extra dependencies), but gains less in times (one order of magnitude) View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Overlooked issues of the Year 2000 upgrade

    Page(s): 114 - 117
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (324 KB)  

    As companies begin in earnest to upgrade their computer applications to Year 2000 compliance, they are finding that there are many complex and time-consuming issues that they had overlooked when they first tried to size and scope the project. Much of the Year 2000 discussion and activity has concentrated on finding analyzing and changing the code. While these aspects are very important, they consume at most one-third of the effort of the Year 2000 compliance project. There are other issues of Year 2000 compliance which will take a great deal more effort than has been allocated by most organizations. The paper explores several of the forgotten issues of the Year 2000 upgrade, including: Year 2000 compliance for purchased application packages; upgrading versus replacing existing applications; avoiding a freeze of in-house production software while the Year 2000 project is underway; creating test data beds containing intelligently aged date fields; and verifying the accuracy of application tests. While these issues would be important for any upgrade, for the Year 2000 upgrade there is a special significance. For the first time in data processing history, we have an application project for which there is no easy fallback position and no way to move the deadline View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Supporting software maintenance with non-functional information

    Page(s): 10 - 16
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (552 KB)  

    The paper highlights the role of non functional information (about efficiency, reliability and other software attributes) of software components in software maintenance, focusing in the component programming framework. Non functional information is encapsulated in modules bound to both definitions and implementations of software components and it is written as expressions in a classical programming language. It is shown with an example how this notation supports software maintenance, with the help of an algorithm which is able to select the best implementation of a software component in its context of use, meaning by “best” the one that better fits to its non functional requirements. As a conclusion, we may say that our proposal will probably reduce maintenance costs in case of software modifications due to changes in the non functional environment of the system and also to changes in the NF behaviour of software components, including migration to other platforms View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Modeling product and process characteristics in software configuration management

    Page(s): 25 - 32
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (576 KB)  

    Modeling product characteristics is well known to software configuration management (SCM). Modeling process characteristics is relatively new to SCM. Combining process modeling and SCM enhances the current capabilities of SCM. The paper presents product and process models suitable for SCM. The outlined approach, Concert provides building blocks for developing project specific models. Concert's models are described by entity relationship diagrams. In addition, Concert uses the predicate calculus to express model restrictions. Concert offers a seamless integration of product and process modeling. The paper presents a process model for software maintenance that is based on change requests. Such a model helps SCM to recognize the course of a software project early, thus SCM need not determine the development history of a software ex post. The paper describes a tool to manage the presented models and their instances View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • CAME tools for an efficient software maintenance

    Page(s): 74 - 81
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (592 KB)  

    Describes the role of metrics tools as computer-assisted software measurement and evaluation (CAME) tools in the software life-cycle, especially in the maintenance phase. Most CAME tools are designed for code analysis and measurement, and these are predestined to be applied in the implementation and maintenance development phases, but more and more tools are being developed for the earlier phases of software development, to estimate the effort, complexity and size of the software that is to be created. This paper provides an overview of the present situation in the area of CAME tools and discusses their efficient use in software maintenance View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.