By Topic

Software Maintenance, 1992. Proceerdings., Conference on

Date 9-12 Nov. 1992

Filter Results

Displaying Results 1 - 25 of 48
  • A classification procedure for the effective management of changes during the maintenance process

    Page(s): 328 - 336
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (598 KB)  

    The authors address the issue of assessing the difficulty of a change based on known or predictable data. They consider the present work as a first step towards the construction of customized economic models for maintainers. They propose a modeling approach, based on regular statistical techniques, that can be used in a variety of software maintenance environments. This approach can be easily automated, and is simple for people with limited statistical experience to use. Moreover, it deals effectively with the uncertainty usually associated with both model inputs and outputs. The modeling approach is validated on a data set provided by the NASA Goddard Space Flight Center, showing that it has been effective in classifying changes with respect to the effort involved in implementing them. Other advantages of the approach are discussed along with additional steps to improve the results. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • COMFORM-a software maintenance method based on the software configuration management discipline

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

    COMFORM (configuration management formalisation for maintenance), a method which provides guidelines and procedures for carrying out a variety of activities performed during the maintenance process, is discussed. The proposed method accommodates a change control framework around which the software configuration management discipline is applied. The aim is to exert control over an existing software system while simultaneously incrementally redocumenting it.<> View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Conference on Software Maintenance 1992 (Cat.No.92CH3206-0)

    Save to Project icon | Request Permissions | PDF file iconPDF (72 KB)  
    Freely Available from IEEE
  • A transformation system for maintenance-turning theory into practice

    Page(s): 146 - 155
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (684 KB)  

    An outline of the principles and design features of the Maintainer's Assistant is presented. The main results presented concern the method by which the previously developed theoretical approach has been interpreted to provide the means to address the reverse engineering of real-world programs of medium size, written in IBM 370 Assembler. In particular, the use of appropriate metrices to guide the user during the process of program transformation is described. Results are given to show the success of the tool when it has been applied to real code View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Developing a model to manage the software maintenance process

    Page(s): 174 - 182
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (804 KB)  

    The authors report on their work to data on a collaborative project which has the objective of improving industrial software maintenance management through the design and introduction of a comprehensive process model. A framework based on their experience of developing and using different types of process models is presented; this approach enables process models to be developed and used by managers in a beneficial manner to meet organizational objectives and improve existing processes View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A framework for dynamic evolution of object-oriented specifications

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

    It is noted that the evolution of specifications is necessary to accommodate the evolution of requirements and design decisions during the software development and maintenance process. The authors are concerned with formal description techniques that allow the development of executable specifications, especially executable object-oriented specifications of distributed systems. They propose a two-level model for the evolution of large object-oriented specifications. The first level deals with the dynamic modification of types (classes) while the second level deals with the modification of modules. To allow for dynamic modification of types and modules, the authors have developed a reflection-based technique using meta-objects in which the modification operations are defined. In their approach, they have defined a set of structural and behaviour constraints to ensure the specification consistency after its modification at both levels View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An outline for a software maintenance course

    Page(s): 320 - 321
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (140 KB)  

    The author briefly discusses the course structure for the graduate software maintenance course offered at Arizona State University. Introduction to software maintenance, forms of maintenance, reverse engineering and re-engineering, maintenance models, and maintenance personnel are the topics examined View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Maturity of maintenance [software]

    Page(s): 259 - 260
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (192 KB)  

    The SEI maturity model has been successfully used for evaluating the software process at both the project and organization levels. The SEI model includes specific questions for software maintenance and contains maintenance implicitly as a part of the total maturity level of an organization. In the present work, the authors argue that the SEI model can also be used more specifically for defining the majority level of maintenance work of an organization. They give reasons and discuss possibilities of the use of the SEI model for evaluating the maturity level of maintenance, and present results gathered in Europe during the ESPRIT project BOOTSTRAP. In the light of their findings the authors argue that the current dichotomy between maintenance and development should be changed so that the development of the maintenance process should be considered as a part of the whole software process development in the organizations View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A task-based approach to improving the software maintenance process

    Page(s): 118 - 126
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (716 KB)  

    A comprehensive approach is given to improving the software maintenance process based on task analysis. Techniques are presented for determining maintenance tasks and their relationships. Different methods are then used to derive necessary information to perform these tasks. This information can then be placed in a database and used by tools for dissemination to software engineers to help them perform maintenance tasks. Case study results for the application of this process are described View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software transition: experience and lessons learned

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

    While operating a software maintenance organization, the authors were faced with the challenge of accepting maintenance responsibility from a software developer for several systems. Transition of the first two systems was painful. Based on the experience gained, the authors developed procedures for transition. They believe that those procedures improve the ability of the maintenance organization to provide quality support. They discuss their experience in having large software systems transitioned to them for maintenance and lessons learned View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software maintenance: an analysis of industrial needs and constraints

    Page(s): 18 - 26
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (712 KB)  

    The results are given of a series of case studies conducted at different industrial sites in the framework of the ESF/EPSOM (Eureka Software Factory/European Platform for Software Maintenance) project. The approach taken in the case studies was to directly contact software maintainers and obtain their own view of their activity, mainly through the use of interactive methods based on group work. This approach is intended to complement statistical studies which can be found in the literature, by presenting the perspective of the maintainers based on their experience. The aim of these studies has been to gain a better understanding of maintenance needs and constraints, and to highlight directions which could lead to improvements in the quality and efficiency of maintenance activities. The results obtained tend to conform the main preoccupations of the maintenance community, with an emphasis on two types of needs which appear crucial in the domains of activity of the partners, namely: the transfer, preservation and maintenance of knowledge; and the mastering of the maintenance process View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A study of portability problems and evaluation

    Page(s): 90 - 95
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (384 KB)  

    The portability aspects of the FORTRAN and C languages are discussed and the results of porting evaluation are reported. Several experiments were carried out on transferring a fourth-generation language system named STYLE. STYLE was developed for business transaction processing and is designed to greatly speed up application program development. This system is based on the client and server model. Its client program and server program, which communicate with each other over a network, have been transferred to various machines (Unix, OS/2-based). The results of a study of the portability problems are shown. Attention is paid to programming languages, operating systems, interprocess communication mechanisms, file systems, and machine architecture. The results of the difference between the portabilities of FORTRAN modules and C modules and how the portability was affected by a conversion from FORTRAN to C are discussed. The author also introduces an improvement of the porting method which is available in a computer network View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A redefined software life cycle model for improved maintenance

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

    Software maintenance has been considered the postdevelopment phase of the software life cycle model. The authors suggest however, that maintenance should be integrated into all phases rather than being a separate stage. They propose a redefined software life cycle model with respect to software maintenance. The maintenance phase is seen as a miniature development cycle. In maintenance, a need is identified, it is analyzed, the existing system is understood, and the modifications are implemented. The contemporary maintenance approaches such as re-engineering and reverse engineering are also discussed in the context of the proposed life cycle model View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Traceability based on design decisions

    Page(s): 309 - 317
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (508 KB)  

    The authors model the different points of view on a software structure as distinct conceptual models. The mapping among models of the same software structure is made through the assumption of design decisions. This mapping is represented as a graph, the model dependency descriptor, which connects components of source models with those in the target models. A traceability relation is set between components by producing the transitive closure of the model dependency descriptor. The traceability relation which is proposed links objects and also tracks decisions having a role in the transformation. A traceability support system incorporates a number of design databases and implements the model dependency descriptor. Its use enables the management of systems which were developed by using different design methods and different programming environments, and the capturing of the assumptions set during both development and maintenance View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Problem domain, structural and logical abstractions in reverse engineering

    Page(s): 214 - 224
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (6536 KB)  

    Reverse engineering abstractions are considered. Three kinds of abstractions are identified: problem domain, structural, and logical. Problem domain abstractions correspond to concepts from a program's application area. Structural abstractions are used to eliminate implementation details and redundant information. Logical abstractions are properties that can be logically derived from code. A method for generating functional specifications is described, which incorporates the abstraction techniques. It has been applied to a variety of COBOL programs and been found to generate natural abstract program descriptions. The authors describe work in progress, including the construction of an analysis tool that will be used to help verify the approach and to assess its complexity and computational requirements View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Current state of software maintenance in Japan: in depth view

    Page(s): 27 - 29
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (208 KB)  

    The study activities of the Software Maintenance Study Group (SMSG) in Japan are described. SMSG was established in December 1990 to discuss the problems of the maintenance sections handling very large software systems in about 30 major companies in Japan. SMSG is organized from a program committee and six working groups. The author reports the current progress of these groups, emphasizing groups studying the maintenance process and maintenance tools View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reliability models and metrics for space shuttle maintenance position statement

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

    The use of software reliability models as an aid to software maintenance, with applications to the space shuttle onboard software, is described. In addition to supporting the maintenance function, the use of reliability models throughout the life of the software supports other functions such as reliability assessment, design feasibility assessment, and management of human and computer resources. Reliability prediction during prototype and during test is discussed View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Data flow diagrams: reverse engineering production and animation

    Page(s): 366 - 375
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (960 KB)  

    The authors propose the use of interactive animation techniques as a support to reverse engineering processes oriented to the synthesis of semantic abstractions. Starting from data flow diagrams, a formal model, called dynamic data flow diagrams (DDFDs), has been defined, which can be used for the production of executable models of a software system. A strategy for the DDFD interactive animation is also put forward. Finally, the authors describe a prototype tool for (i) the production of the DDFD which models an ADA system starting from the analysis of the code and (ii) the interactive animation of such a model according to the proposed strategy View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Cost benefit analysis and the art of software maintenance

    Page(s): 70 - 77
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (612 KB)  

    As software maintenance requirements continue to grow, conflicting with demands for new development, managers must continually evaluate the cost effectiveness of various maintenance strategies. He shows that one can measure and use a significant benefit from maintenance-the reduction in failure risk-to evaluate maintenance strategies. The ability to measure the differential risk of failure in modules within a system can be used to design high-risk-first maintenance strategies and to motivate the effort. Moreover, maintenance's impact on failure risk can demonstrate whether it is advantageous to fix errors as soon as they are found or perform scheduled maintenance in the future. Failure risk assessments can also be used to measure the effectiveness of perfective maintenance strategies. Not only can this type of maintenance be justified, but alternative strategies can be compared to determine which will minimize failure risk View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Incorporating the inspection process into a software maintenance organization

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

    The results are given of introducing the inspection process into an established software life cycle maintenance organization. The results were obtained while implementing a major system enhancement and support the continued use of software inspection in the maintenance environment, for both system enhancements and problem corrections. The defect data collected provided the quantitative information required to determine how well the software group was performing and what specific development areas needed improvement. Results from this experience, support the premise that cost reduction and quality improvement can be obtained using the inspection process View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The benefits of maintenance exercises in project-based courses in software engineering

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

    A particular justification for teaching software maintenance is presented. Specifically, it is pointed out that, when an instructor assigns maintenance exercises in a project-based course in software engineering, and when the assignment includes a carefully organized management model, students learn far more than they would from a traditional from-scratch development project View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Tailoring the software engineering Institute's (SEI) Capability Maturity Model (CMM) to a software sustaining engineering organization

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

    The Software Engineering Institute's Softwares Process Maturity Model was developed to provide a basis for assessing an organization's ability to perform software engineering activities. It also provides a guide for improving an organization's software engineering capability. The maturity model was designed on the basis of concepts associated with developing new, large, complex systems. This has led to difficulties in applying the model to organizations involved entirely in software maintenance. The author addresses the tailoring issues encountered in applying the software maturity model to a large maintenance organization at Paramax Space Systems Operation. It is concluded that the issues that arise when the Capability Maturity Model is applied to a software sustaining engineering organization are significant but do not prohibit the use of the model as a guide for software process improvement. Issues mainly arise with the treatment requirements and differences in project management needs. The primary tailoring issues are ones of wording as opposed to applicability to maintenance activities View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Identification of program modifications and its applications in software maintenance

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

    It is pointed out that a major problem in software maintenance is the revalidation of a modified code. It is economically desirable to restrict that process only to those parts of the program that are affected by the modifications. Towards that goal, a formal method is needed to identify the modifications in an automatic way. Such a method is proposed in the present work. The modifications are localized within clusters in the flow graphs of the original and modified programs. Both flow graphs are transformed into reduced flow graphs, between which an isomorphic correspondence is established. Cluster-nodes in the reduced graphs encapsulate modifications to the original program. An algorithm to derive the reduced flow graphs has been implemented as an extension to the recently developed system for testing and debugging (STAD 1.0) and early experiments with the algorithm are reported. Potential applications in regression testing and reasoning about the program are discussed View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Eliminating non-traversable paths from structured programs

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

    A formal procedure is given based on the use of regular expressions, to identify and eliminate nontraversable paths in a structured program. By reducing the use of control variables, the program is transformed into an unstructured variant and then restructured into a semantic equivalent of the original program with nontraversable paths eliminated. The authors demonstrate this procedure with an example and discuss its maintenance advantages View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software restructuring by enforcing localization and information hiding

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

    It is shown how the semantic basis underlying modern system structure constructs (supported in languages such as Ada and C++) can be used to simplify the understanding of software written in conventional imperative languages. The restructuring technique analyzes the input source code system into a hierarchical system structure that exploits information hiding and localization properties. This hierarchical view will help to accurately identify a component's dependencies and visibility relationships with other system subcomponents. Besides obvious understandability and maintainability benefits, this form of restructure offers a convenient framework for translating conventional languages into languages that support modularity, abstract data types, and hierarchical system structure. The current restructuring tool has been successfully applied to an antisubmarine warfare subsystem View full abstract»

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