{"title":"Composing subsystem structures using (k,2)-partite graphs","authors":"H. Müller, James S. Uhl","doi":"10.1109/ICSM.1990.131315","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131315","url":null,"abstract":"The authors describe a clustering method that uses equivalence relations for identifying subsystem structures. The relations are intended to embody the software engineering principles that concern module interactions, such as low coupling, high strength, small interfaces, and few interfaces. The resulting compositions are (k,2)-partite graphs (a class of layered graphs) rather than strict tree hierarchies. The method is supported by an interactive graph editor.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"15 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":"126536736","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":"FATCAT: a tool to aid in maintaining, modifying, and enhancing Fortran codes","authors":"R. Babb, D. Klappholz, A. D. Kallis","doi":"10.1109/ICSM.1990.131386","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131386","url":null,"abstract":"FATCAT (Fortran Advanced Technology Code Analysis Tool) is a software tool designed to aid the programmer in maintaining, modifying, and enhancing substantial production programs (a thousand to over a million lines long). FATCAT is also extremely useful in aiding the programmer in parallelizing Fortran code. FATCAT analyzes sequential code written in ANSI Fortran '77. It also 'understands' Cray Fortran (CFT) extensions, such as recursion and pointer variables. Like some cross-reference-table producing tools, FATCAT also understands the effects on variable usage of COMMON and EQUIVALENCE statements. Unlike most such tools, however, it also accounts for the effects of SUBROUTINE and FUNCTION calls, including recursive calls, of array subscripting, and of dereferencing CFT-style pointer variables.<<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":"129510646","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":"LOGISCOPE and the software maintenance crisis","authors":"M. Servello","doi":"10.1109/ICSM.1990.131333","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131333","url":null,"abstract":"Summary form only given. LOGISCOPE performs a fast and consistent source code analysis in a wide variety of languages to produce graphic aids and complexity metrics which can drastically reduce both time and error in gaining an understanding of unfamiliar source code. Although it does not presume to define 'good' or 'bad' in an environment, LOGISCOPE does provide the objective primitive information which allows one to do so. Once a definition is arrived at, LOGISCOPE provides the means of rapidly and consistently evaluating compliance with one's own definitions. It also provides test path coverage analysis as a means of reducing testing effort while improving its effectiveness.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"1870 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":"128670082","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":"Basic assembler language software re-engineering workbench (BAL/SRW)","authors":"W. Kozaczynski","doi":"10.1109/ICSM.1990.131358","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131358","url":null,"abstract":"Summary form only given. The BAL/SRW is a set of software reengineering tools developed to help an analyst recover the design of an assembly program. This is achieved through a series of abstractions, which effectively collapse program functionality into progressively higher level concepts. The BAL/SRW does not automatically transform the assembly code into a different format, but provides tools for an analyst to uncover and document the program logic. The design recovery process begins with a surface analysis which provides the analyst with information characterizing the overall program complexity and information about the context in which the program executes. This general information can be used to estimate the re-engineering effort and make project management decisions. The outcome of the design recovery process is a graphically oriented program design, constructed by the analyst. The BAL/SRW has its own program design editor, which is a structured program definition tool.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"20 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":"127545547","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":"Insights on improving the maintenance process through software measurement","authors":"W. Harrison, C. Cook","doi":"10.1109/ICSM.1990.131320","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131320","url":null,"abstract":"The authors develop a model of software maintenance based upon an objective decision rule which determines whether a given software module can be effectively modified or whether it should instead be rewritten. Completely rewriting a module can be expensive, but it can be even more expensive if the module's structure has been severely degraded over successive maintenance activities. A module that is likely to experience significant maintenance activity is called change prone. The authors suggest that early identification of change-prone modules through the use of change measures across release cycles can be an effective technique in allocating maintenance resources.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"13 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":"117232624","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":"An approach to enhancing the maintainability of expert systems","authors":"J. Yen, Hsiao-Lei Juang","doi":"10.1109/ICSM.1990.131348","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131348","url":null,"abstract":"The task of maintaining expert systems has become increasingly difficult as the size of their knowledge bases increases. To address this issue, a unified AI programming environment (CLASP) has been developed; this environment tightly integrates three AI programming schemes: the term subsumption languages in knowledge representation the production system architecture, and methods in object-oriented programming. The CLASP architecture separates the knowledge about when to trigger a task from the knowledge about how to accomplish a given task. It also extends the pattern matching capabilities of conventional rule-based systems by using the semantic information related to rule conditions. In addition, it uses a pattern classifier to compute a principled measure about the specificity of rules. Using a monkey-bananas problem, the authors demonstrate that an expert system built in CLASP is easier to maintain because the architecture facilitates the development of a consistent and homogeneous knowledge base, enhances the predictability of rules, and improves the organization and reusability of knowledge.<<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":"131021578","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 dynamic approach of test data generation","authors":"B. Korel","doi":"10.1109/ICSM.1990.131379","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131379","url":null,"abstract":"The author presents a dynamic approach to test data generation, in which the path selection stage is eliminated. In this approach, test data are derived on the basis of the actual execution of the program under test, of dynamic data flow analysis, and of function minimization methods. The approach starts by executing a program for an arbitrary program input. During program execution for each executed branch, a search procedure decides whether the execution should continue the current branch or whether an alternative branch should be taken. If an undesirable execution flow is observed at the current branch, then a real-valued function is associated with this branch, and function minimization search algorithms are used to automatically locate values of input variables which will change the flow of execution at this branch. In addition, dynamic data flow analysis is used to determine input variables which are responsible for the undesirable program behavior, leading to speedup of the search process.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"194 4 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":"116785763","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":"Maintenance and prototyping at the entity-relationship level: a knowledge-based support","authors":"P. Benedusi, V. Benvenuto, M. G. Caporaso","doi":"10.1109/ICSM.1990.131349","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131349","url":null,"abstract":"The authors explore the maintenance applications of a knowledge-based tool which has been designed to support the high-level phases of ER (entity-relationship) data modeling in the development of new systems. The ER conceptual schema and the logical relational schema are represented in a knowledge base; the tool provides prototyping features by means of an active representation of those schema which can be exercised with real test data. Changes at the ER level are supported by means of interactive manipulation primitives, rules are added to offer advice on and control of the semantic consequences of changes, and aids to ensure referential integrity constraints in relational databases are included.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"110 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":"114320491","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 framework for software maintenance metrics","authors":"S. Pfleeger, S. Bohner","doi":"10.1109/ICSM.1990.131381","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131381","url":null,"abstract":"The authors introduce a software maintenance process model that emphasizes impact analysis and forms a framework for software maintenance metrics support. Schedule, resource, and other constraints frequently subvert efforts to build and maintain a software product. using direct graphs, the authors suggest traditional process and product metrics, as well as new impact analysis metrics that address software work-product traceability and inter-work-product dependencies. Management can use these and other metrics to understand and control the maintenance process dynamically. As changes are requested, measurements can be made, impact assessed, and implementation decisions made. Moreover, the more the impact is understood, the better the change can be controlled; hence risks are minimized.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"40 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":"114571425","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":"SMARTsystem: a CASE development environment for existing C programs","authors":"R. J. Evans","doi":"10.1109/ICSM.1990.131368","DOIUrl":"https://doi.org/10.1109/ICSM.1990.131368","url":null,"abstract":"Summary form only given. SMARTsystem (software maintenance, analysis, and reengineering tools) is an integrated, multiuser environment for software development, maintenance, and reverse engineering. Designed for use by C programmers on Unix workstations, SMARTsystem offers the ability to comprehend the structure and detailed components of an existing software system. By providing tools that address programs as entities, as well as tools that operate at a finer granularity, SMARTsystem allows the user to approach programming issues at the proper level of abstraction.<<ETX>>","PeriodicalId":107276,"journal":{"name":"Proceedings. Conference on Software Maintenance 1990","volume":"62 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":"123849851","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}