{"title":"Improving software maintenance using system-level reverse engineering","authors":"K. D. Gillis, D. Wright","doi":"10.1109/ICSM.1990.131329","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131329","url":null,"abstract":"A FORTRAN reverse engineering software package is described which programmatically analyzes existing Fortran source code and generates complete structure charts and module specifications in a CASE environment. The user can also select options to create software trees and a variety of cross-reference tables. The use of these objects can increase programmer productivity by providing system-level details in a manner that can be easily understood. They also aid in the software maintenance process by providing the design baseline for future software modifications and added documentation of the software set. It is pointed out that integrating a system-level reverse engineering utility tool into a CASE environment is just one step toward improving programmer productivity and increasing success in the software maintenance process.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124939460","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Data abstraction in a software re-engineering reference model","authors":"A. Colbrook, C. Smythe, A. Darlison","doi":"10.1109/ICSM.1990.131314","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131314","url":null,"abstract":"The process of software reengineering must incorporate techniques for manipulating software which is imperative, declarative, or functional in nature. This generality needs a mechanism for deriving the original requirements of the underlying data structures contained within the source code itself. A reference model is proposed from which it is possible to derive the necessary techniques required to implement such a mechanism. The proposed model, the source code reengineering reference model (SCORE/RM), consists of eight layers (encapsulation, transformation, normalization, interpretation, abstraction, causation, regeneration, and certification) which provide a step-by-step approach to rationalizing the software, comprehending its functions and requirements, and rebuilding it according to well-established practices of software engineering. Such a framework can then be used to provide improved maintenance capability, language translation, retrospective standardization of the code and documentation, code migration onto parallel architectures, and formal specification.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125139568","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"PAT: a retargetable parallelizing tool for Fortran","authors":"B. Appelbe, K. Smith","doi":"10.1109/ICSM.1990.131392","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131392","url":null,"abstract":"A description is given of PAT (Parallelization Assistant Tool), a retargetable tool that converts sequential Fortran to Parallel Fortran for IBM, CRAY, and Sequent multiprocessors. It runs on a range of Unix workstations, using X windows to display source code, program analysis, and transformations. PAT is intended to help programmers convert their program from sequential to parallel code, while simultaneously educating them in exploiting and understanding applications-level and architectural parallelism. The authors report on experiences with PAT, limitations of its approach, future development, and the use of PAT's analysis for other tools.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130280120","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Transitioning from development to maintenance","authors":"T. Vollman","doi":"10.1109/ICSM.1990.131353","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131353","url":null,"abstract":"It is pointed out that the life cycle of many large software systems includes a major milestone for delivery and a transition phase during which the software item ceases to be the responsibility of the developer and becomes the responsibility of some other organization. The author identifies management and technical issues which arise as a part of this transition. These issues include the transfer of project management functions, the provision for future development/maintenance technical support, the establishment of new user-maintainer interfaces, and the installation and implementation of the hardware, software, tools, and procedures in the maintenance facility which are necessary so that maintenance may commence.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123413416","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adventures in portable parallel programming: STRAND/sup 88/ with embedded Fortran and C","authors":"T. Mattson","doi":"10.1109/ICSM.1990.131391","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131391","url":null,"abstract":"STRAND/sup 88/ is a high-level language for writing programs that are portable across a broad range of parallel computers. The author introduces STRAND/sup 88/ and discusses how it is used to port sequential applications onto parallel computers. A key language feature making this possible is its interface to C and Fortran. Case studies are presented in weather modeling and protein structure prediction.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128729196","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A methodology for controlling the size of a test suite","authors":"M. J. Harrold, R. Gupta, M. Soffa","doi":"10.1109/ICSM.1990.131378","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131378","url":null,"abstract":"As a result of modifications to a program during the maintenance phase, the size of a test suite used for regression testing can become unmanageable. The authors present a technique that selects from a test suite a representative set of test cases that provides the same measure of coverage as the test suite. This selection is performed by the identification of the redundant and obsolete test cases in the test suite. The representative set can be used to reduce the size of the test suite by substituting for the test suite. The representative set can also be used to determine those test cases that should be rerun to test the program after it has been changed. The technique is independent of the testing methodology and only requires an association between each testing requirement and the test cases that satisfy the requirement. The technique is illustrated by means of the data flow testing methodology. Experimental studies are being performed that demonstrate the effectiveness of the technique.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114735629","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Empirical software maintenance studies during the 1980s","authors":"D. Hale, Dwight A. Haworth, S. Sharpe","doi":"10.1109/ICSM.1990.131340","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131340","url":null,"abstract":"The authors examine empirical software maintenance research during the 1980s and categorize the research according to placement, origin, and nature to determine what has been done in the past. To aid in the investigation, an exhaustive electronic keyword search was made of abstracts found in Computer Database Abstracts and the INSPEC Computer and Control; Abstracts. The full abstracts for the articles found in the searches were scrutinized to determine whether they were appropriate. On the basis of the abstracts, full articles were examined to provide summary and trend statistics. The dimensions used to categorize and interpret the current state of empirical software maintenance research were derived from a survey conducted at the 1988 IEEE Conference on Software Maintenance. It was found that the volume of empirical software maintenance research apparently has increased over the decade. Second, the use of COBOL in empirical studies appears to be increasing. The use of only students in empirical studies has declined slightly through the decade, and the majority of software maintenance research continues to be accomplished by academic researchers.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"125 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115860284","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Understanding the configurations of operational systems","authors":"Rachel J. Kenning, M. Munro","doi":"10.1109/ICSM.1990.131316","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131316","url":null,"abstract":"Inverse software configuration management has been identified as the process of bringing an existing (i.e., operational) software system under configuration control. PISCES (proforma identification scheme for configurations of existing systems), a software tool under development to help in this area, is discussed. PISCES identifies and documents the configurations of an existing systems. It reduces the time taken for a maintainer to understand a system configuration and provides the framework on which subsequent control of the product may be based. In this way it unifies the development and maintenance process.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121853522","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Identifying objects in a conventional procedural language: an example of data design recovery","authors":"S.-S. Liu, N. Wilde","doi":"10.1109/ICSM.1990.131371","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131371","url":null,"abstract":"The authors propose methodologies to aid in the design recovery of object-like features of a program written in a non-object-oriented language. Two complementary methods, based on an analysis of global data or of data types, are proposed, along with an interactive tool that would combine the two methods while using human input to guide the object identification process. The authors are constructing a prototype interactive software tool to implement these methods for the C language. The intention is to collect data on the user's decisions and reasons for making them so that improved heuristics or knowledge-based-methods could be developed to improve the process.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130213899","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Decision-based-support-paradigm: a new method to structure source code","authors":"C. Wild, K. Maly, Lianfang Liu","doi":"10.1109/ICSM.1990.131360","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131360","url":null,"abstract":"The decision-based software development (DBSD) paradigm is being developed to support the process of developing and maintaining software systems. The DBSD paradigm views the design process as a series of interrelated decisions which involve the identification and articulation of problems, alternatives, solutions, and justifications. Decisions made by programmers and analysts are recorded in a project database. Unresolved problems are also recorded, and resources for their resolution are allocated by management according to the overall development strategy. This decision structure is linked to the products affected by the relevant decisions and provides a process-oriented view of the resulting system. Software maintenance uses this decision view of the system to understand the rationale behind the decisions affecting the part of the system to be modified. The relationships between decisions help assess the impact of changing one or more decisions. The authors describe D-HyperCase, a prototype decision-based hypermedia system and give results of applying the DBSD approach during its development.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127503993","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}