{"title":"A quantitative framework for software restructuring","authors":"Byung-Kyoo Kang, J. Bieman","doi":"10.1002/(SICI)1096-908X(199907/08)11:4%3C245::AID-SMR193%3E3.0.CO;2-8","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199907/08)11:4%3C245::AID-SMR193%3E3.0.CO;2-8","url":null,"abstract":"Software restructuring is the process of re-organizing the logical structure of existing software systems in order to improve particular quality attributes of software products. During design or maintenance, software developers often use intuition, rather than an objective set of criteria, to determine, recapture, or restructure the design of a software system. \u0000In this dissertation, we provide a quantitative framework for software restructuring. In the framework, restructuring decisions are guided by visualized design information and quantitative design-level measures. The restructuring process is automated by supporting tools. A set of design-level cohesion and coupling measures provides the objective criteria for comparing alternative design structures. They are derived, compared, and applied in our software restructuring framework. The process insures that restructuring results in measurable and visible improvements in design quality. Applying our framework can result in restructured software systems that are easier to maintain and reuse.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"292 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124197065","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":"Isolating faults in complex COTS-based systems","authors":"S. Hissam, D. Carney","doi":"10.1002/(SICI)1096-908X(199905/06)11:3%3C183::AID-SMR191%3E3.0.CO;2-U","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199905/06)11:3%3C183::AID-SMR191%3E3.0.CO;2-U","url":null,"abstract":"Abstract : This monograph provides an overview of a method for isolating and overcoming faults in COTS-based systems. It provides a method and mechanisms that are useful for engineers and integrators who are tasked with assembling complex systems from heterogeneous sources. While other readers may find value in this report, it is specifically written for a technical audience. The method described in this monograph has been used on various systems. One such use is described in the SEI monograph Case Study: Correcting System Failure in a COTS Information System.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128792331","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 evaluation of the cognitive processes of programmers engaged in software debugging","authors":"J. Hale, S. Sharpe, D. Hale","doi":"10.1002/(SICI)1096-908X(199903/04)11:2%3C73::AID-SMR187%3E3.0.CO;2-A","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199903/04)11:2%3C73::AID-SMR187%3E3.0.CO;2-A","url":null,"abstract":"","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130010913","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 new algorithm for slicing unstructured programs","authors":"M. Harman, S. Danicic","doi":"10.1002/(SICI)1096-908X(199811/12)10:6%3C415::AID-SMR180%3E3.0.CO;2-Z","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199811/12)10:6%3C415::AID-SMR180%3E3.0.CO;2-Z","url":null,"abstract":"Program slicing is an automatic program abstraction technique whose many applications include software maintenance, re-engineering and comprehension, all of which rely crucially upon the precision of the slicing algorithm used. When slicing is applied to maintenance problems, the programs to be sliced are typically legacy systems, often written in older, 'unstructured' programming styles. For slicing to be a useful tool to the software maintainer it is therefore important to have precise algorithms for slicing unstructured programs.Unfortunately the standard algorithms for slicing structured programs do not extend correctly to the unstructured paradigm, and currently proposed modifications to these standard algorithms produce either unnecessarily large slices or slices which are not true subsets of the original program from which they are constructed.This paper introduces a modification of Agrawal's algorithm for slicing unstructured programs, which overcomes these difficulties. The new algorithm produces thinner slices than any previously published algorithm while respecting both the semantic and syntactic constraints of slicing, (C) 1998 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116640180","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":"Training for software maintenance","authors":"M. Taylor, E. Moynihan, A. Laws","doi":"10.1002/(SICI)1096-908X(199811/12)10:6%3C381::AID-SMR177%3E3.0.CO;2-N","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199811/12)10:6%3C381::AID-SMR177%3E3.0.CO;2-N","url":null,"abstract":"There are many factors which significantly affect the software maintenance work carried out in organizations. This paper concentrates on one of those factors which is the training that IT staff receive in software maintenance techniques. This paper examines the approaches to training for software maintenance found in case studies in 31 UK organizations. In particular, this paper identifies the formal and informal approaches to software maintenance training that were used within the organizations studied, examines how such training was carried out and discusses the perceived benefits of the different training approaches. 1998 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125529549","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}