Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×

System Upgrade on Tue, May 28th, 2024 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at customercare@wspc.com for any enquiries.

SEARCH GUIDE  Download Search Tip PDF File

  • articleNo Access

    MULTI-VALUED CONSTANT PROPAGATION ANALYSIS FOR USER INTERFACE REENGINEERING

    The definition and use of multi-valued constant propagation analysis (MVCP), which is an extension of simple constant propagation analysis, is presented in this paper in the context of a user interface reengineering process.

    A brief description of the adopted COBOL/CICS user interface reengineering model, which makes use of an Abstract User Interface Description Language (AUIDL) to represent user interface structures and behavior, is also given.

    The experimental context is described and results are shown and discussed. Suggestions for further directions of research and investigation are also presented.

  • articleNo Access

    TOWARDS AN OPEN SOFTWARE CONVERSION ARCHITECTURE

    A generic architecture for the development and application of software conversion tools exposes the requirements set for appropriate enabling technologies. Extrapolation of this set beyond its satisfaction by existing proprietary technology then exposes the opportunity/need for open interfaces between separate components providing orthogonal dimensions of the overall functionality. Some novel aspects of the solutions considered include retrofitting persistence to an open compiler-compiler, and using the Unix file system as a persistent object store, while in the background the advent of standard interfaces to persistence technology suggests that the overall goal is feasible.

  • articleNo Access

    REPRESENTING COBOL IN PROLOG—TOWARDS PROGRAM COMPREHENSION AND REENGINEERING

    This paper sets out to investigate how COBOL programs can be interpreted using Prolog. For this purpose, we examine how an executable logic specification can be obtained, which is semantically equivalent to the original source. We define a specification language COPRA as a restricted subset of Prolog and show how various imperative constructs, such as GOTOs and subroutine calls, can be handled in this language. The specification is generated automatically and may serve as a starting point for reengineering in form of a higher-level modification of the source program.

  • articleNo Access

    An Evaluation of Knowledge Engineering Approaches to the Maintenance of Evolutionary Software

    Reverse engineering and reengineering are two major research challenges in the software maintenance process. Reverse engineering is the process of rederiving the specification of a program; and reengineering is the process of modifying an already existing software to add additional functionalities or to correct any malfunction. The difficulty in these tasks are that software development commonly involves many software engineers with implicit assumptions about the behavior of each module. These assumptions are not documented and often leads to inconsistencies in the code. During reverse engineering, such assumptions may not be uncovered. These assumptions usually have complex dependencies, and are the cause of a lot of bugs when the software is reengineered. Many approaches and prototype tools have been developed to address these issues. Reverse engineering and automated program understanding tools have been developed to support the reverse engineering tasks; while various theoretical works on structural program analysis and programs for automated ripple effect analysis have attempted to deal with the reengineering process. These works can be classified into two main types of approaches: those using shallow knowledge or knowledge about the structure of the system and those utilizing deep knowledge or knowledge about the semantics and behavior of the software system. In this paper, we attempt to survey works that have been done under these two broad categories of approaches to deal with the software maintenance tasks, evaluate the strengths and drawbacks of each approach, and attempt to draw a conclusion on the advantages and disadvantages of the two main lines of approaches.

  • articleNo Access

    A FRAMEWORK FOR OBJECT-ORIENTED REVERSE ENGINEERING OF LEGACY INFORMATION SYSTEMS

    There is every indication that an object-oriented view of an information system is a solid foundation for understanding its legacy organization, for relating it to the environment in which it is embedded and for guiding its reengineering. In this paper we present a framework based upon the formal object-oriented specification language TROLL, which provides an object-oriented view of legacy information systems. The aim is to combine existing methods and keep results in a common and suitable description base which provides the appropriate form for deriving object specifications from the legacy IS. We usethe language TROLL not only as description language, but also as a framework to support the maintenance engineers in their reverse engineering tasks by giving hints about what to do next to complete the object specifications. The result of the approach is a formal object-oriented specification of the legacy IS that is suitable both for developing a new IS or for reengineering the legacy system.

  • articleNo Access

    SIMULATION MODEL OF TECHNOLOGICAL MINERAL DRESSING PROCESSES

    The authors worked out a simulation model of technological mineral dressing processes, in which two simulations of technological mineral dressing processes methods are used: transformed structural graph method and method of separation characteristics. The first method makes it possible to simulate technological mineral dressing processes at the design stage in conditions of feedstock, equipment and control information shortage. The second method is an effective instrument for operating plant simulation at the reengineering stage. Productivity and economic efficiency evaluations of the mineral dressing plant are appended to the model.

  • chapterNo Access

    SOFTWARE MAINTENANCE

    Software maintenance is widely recognised as a dominant factor for the high costs of large software systems. Whilst figures vary, a general agreement exists that 60% to 80% of a system's budget is spent on software maintenance.

    Software maintenance is a very broad activity often defined as including all work made on a software system after it becomes operational. This covers the correction of errors, the enhancement, deletion and addition of capabilities, the adaptation to changes in data requirements and operation environments, the improvement of performance, usability, or any other quality attribute.

    This article is an overview of software maintance, its relevance, the problems, and the available solutions. The focus is on the structure of the maintenance activity, including general models of the maintenance process, existing standards, and management practices and tools. The article also includes a discussion of related areas that support software maintenance, and particularly reverse engineering, reengineering, and legacy systems.

  • chapterNo Access

    INDUSTRIAL EXPERIENCE WITH THE ARCHITECTURE-BASED REENGINEERING

    The practice of software reengineering has not been fully exploited industrially in significant ways. In this paper, we will report our experience with the architecture based reengineering on a Network Planning System (NPS). Our approach for effective reengineering is focusing on architecture recovery and component reuse. The new architecture is built based on the recovered architecture, which is augmented with new architectural requirements, correcting old design flaws, and incorporating design patterns. The presented approach is evaluated with the reengineering of the NPS where performance, productivity, code quality and extensibility are compared with the conventional approach. The experiments show that our strategies are very successful.