J. Softw. Maintenance Res. Pract.最新文献

筛选
英文 中文
A quantitative framework for software restructuring 软件重构的定量框架
J. Softw. Maintenance Res. Pract. Pub Date : 1999-07-01 DOI: 10.1002/(SICI)1096-908X(199907/08)11:4%3C245::AID-SMR193%3E3.0.CO;2-8
Byung-Kyoo Kang, J. Bieman
{"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}
引用次数: 47
Recovering software architecture from the names of source files 从源文件的名称中恢复软件架构
J. Softw. Maintenance Res. Pract. Pub Date : 1999-05-01 DOI: 10.1002/(SICI)1096-908X(199905/06)11:3%3C201::AID-SMR192%3E3.0.CO;2-1
N. Anquetil, T. Lethbridge
{"title":"Recovering software architecture from the names of source files","authors":"N. Anquetil, T. Lethbridge","doi":"10.1002/(SICI)1096-908X(199905/06)11:3%3C201::AID-SMR192%3E3.0.CO;2-1","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199905/06)11:3%3C201::AID-SMR192%3E3.0.CO;2-1","url":null,"abstract":"We discuss how to extract a useful set of subsystems from a set of existing source-code file names. This problem is challenging because many legacy systems use thousands of files names, including some that are very short and cryptic. At the same time the problem is important because software maintainers often find it difficult to understand such systems. We propose a general algorithm to cluster files based on their names, and a set of alternative methods for implementing the algorithm. One of the key tasks is picking candidate words to try to identify in file names. We do this by (a) iteratively decomposing file names, (b) finding common substrings, and (c) choosing words in routine names, in an English dictionary or in source-code comments. In addition, we investigate generating abbreviations from the candidate words in order to find matches in file names, as well as how to split file names into components given no word markers. To compare and evaluate our five approaches, we present two experiments. The first compares the ‘concepts’ found in each file name by each method with the results of manually decomposing file names. The second experiment compares automatically generated subsystems with subsystem examples proposed by experts. We conclude that two methods are most effective: extracting concepts using common substrings and extracting those concepts that relate to the names of routines in the files. Copyright © 1999 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"14 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":"133516363","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}
引用次数: 123
Isolating faults in complex COTS-based systems 在基于cots的复杂系统中隔离故障
J. Softw. Maintenance Res. Pract. Pub Date : 1999-05-01 DOI: 10.1002/(SICI)1096-908X(199905/06)11:3%3C183::AID-SMR191%3E3.0.CO;2-U
S. Hissam, D. Carney
{"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}
引用次数: 19
Dynamic analysis methods for the year 2000 problem 2000年问题的动态分析方法
J. Softw. Maintenance Res. Pract. Pub Date : 1999-05-01 DOI: 10.1002/(SICI)1096-908X(199905/06)11:3%3C167::AID-SMR190%3E3.0.CO;2-N
N. Wilde, R. Justice, Kristin Blackwell, W. E. Wong
{"title":"Dynamic analysis methods for the year 2000 problem","authors":"N. Wilde, R. Justice, Kristin Blackwell, W. E. Wong","doi":"10.1002/(SICI)1096-908X(199905/06)11:3%3C167::AID-SMR190%3E3.0.CO;2-N","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199905/06)11:3%3C167::AID-SMR190%3E3.0.CO;2-N","url":null,"abstract":"Programmers working on the year 2000 problem need to locate and understand date sensitive code, that is, code whose execution depends on date inputs. This paper presents several dynamic analysis methods for addressing this problem. Date sensitive code can be located by running many test cases that are identical except for a change in one date value. An advanced test coverage tool can recover each test's execution count vector giving the number of times that each basic block was executed. Comparison of the vectors reveals the blocks whose execution is affected by the input date values. We present several methods of analysing the execution count data to locate date algorithms. One method identifies subdomains, that is, ranges of dates that are processed similarly. Another method involves graphical or Fourier analysis to identify common programming patterns such as leap-year computations. The last method exploits the 28-year regularity in dates to look for anomalies in processing. The methods are illustrated using Bellcore's ATAC testing tool on five C programs that use some of the date encodings that year 2000 maintainers may need to locate and understand. Copyright © 1999 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"431 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":"131175865","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}
引用次数: 1
Automated regression testing using DBT and Sleuth 使用DBT和Sleuth进行自动化回归测试
J. Softw. Maintenance Res. Pract. Pub Date : 1999-03-01 DOI: 10.1002/(SICI)1096-908X(199903/04)11:2%3C93::AID-SMR188%3E3.0.CO;2-5
A. Andrews, Ning Zhang
{"title":"Automated regression testing using DBT and Sleuth","authors":"A. Andrews, Ning Zhang","doi":"10.1002/(SICI)1096-908X(199903/04)11:2%3C93::AID-SMR188%3E3.0.CO;2-5","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199903/04)11:2%3C93::AID-SMR188%3E3.0.CO;2-5","url":null,"abstract":"Regression testing is an important activity in software maintenance. Current regression testing strategies can be categorized into two groups: ‘retest all’ and ‘selective regression’ testing. Each of these two groups encompasses a variety of strategies. In industrial practice, regression testing procedures vary widely. Sometimes, several regression testing techniques are used in combination. Technique selection is also influenced by the expected quality of the system to be tested. Such variations in regression testing strategies and techniques mandate flexibility for a regression testing tool. This paper presents regression testing support for Sleuth, a test generation tool based on domain-based testing. We explain the rules for building regression tests for a variety of possible regression testing strategies from retest all strategies to selective regression testing strategies. Copyright © 1999 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"14 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":"122311441","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}
引用次数: 39
Variable-precision reaching definitions analysis 变精度达到定义分析
J. Softw. Maintenance Res. Pract. Pub Date : 1999-03-01 DOI: 10.1002/(SICI)1096-908X(199903/04)11:2%3C117::AID-SMR185%3E3.0.CO;2-P
P. Tonella, G. Antoniol, R. Fiutem, E. Merlo
{"title":"Variable-precision reaching definitions analysis","authors":"P. Tonella, G. Antoniol, R. Fiutem, E. Merlo","doi":"10.1002/(SICI)1096-908X(199903/04)11:2%3C117::AID-SMR185%3E3.0.CO;2-P","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199903/04)11:2%3C117::AID-SMR185%3E3.0.CO;2-P","url":null,"abstract":"Ascertaining the reaching definitions from the source code can give views of the linkages in that source code. These views can aid source code analyses, such as impact analysis and program slicing, and can assist in the reverse engineering and re-engineering of large legacy systems. Maintainers like to do such activities interactively and value fast responses from program analysis tools. Therefore the control of the trade-off between accuracy and efficiency should be given to the maintainer. Since some real world programs, especially in languages like C, make much use of pointers, and efficient points-to analysis should be integrated within the computation of the data dependencies during the process of ascertaining the reaching definitions. \u0000 \u0000 \u0000 \u0000This paper proposes three different approaches to the analysis of the reaching definitions based on different levels of precision, reflecting differences in their sensitivity to the calling context and the control flow. The least precise approach produces an overestimate by an average of 41% of data dependencies compared to the approach with the highest degree of precision. The result for the least precise approach is conservative because all detectable data dependencies are included, and is far faster than the more precise approaches. Runs on a test suite show an almost 2000 to 1 reduction in execution time by the least precise approach compared with the most precise approach. The intermediate approach is more than 30 times faster than the most precise approach, and much more precise than the least precise one (an average of 2% extra dependencies compared to the most precise approach). Therefore, while on medium size systems the intermediate approach could be a good compromise, on large systems the least precise approach becomes extremely valuable, being the only one feasible. Copyright © 1999 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"70 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":"133060790","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}
引用次数: 7
An evaluation of the cognitive processes of programmers engaged in software debugging 对从事软件调试的程序员的认知过程的评价
J. Softw. Maintenance Res. Pract. Pub Date : 1999-03-01 DOI: 10.1002/(SICI)1096-908X(199903/04)11:2%3C73::AID-SMR187%3E3.0.CO;2-A
J. Hale, S. Sharpe, D. Hale
{"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}
引用次数: 20
A new algorithm for slicing unstructured programs 一种切片非结构化程序的新算法
J. Softw. Maintenance Res. Pract. Pub Date : 1998-11-01 DOI: 10.1002/(SICI)1096-908X(199811/12)10:6%3C415::AID-SMR180%3E3.0.CO;2-Z
M. Harman, S. Danicic
{"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}
引用次数: 48
Knowledge base clustering for KBS maintenance 知识库聚类的KBS维护
J. Softw. Maintenance Res. Pract. Pub Date : 1998-11-01 DOI: 10.1002/(SICI)1096-908X(199811/12)10:6%3C395::AID-SMR179%3E3.0.CO;2-4
O. Lee, P. Gray
{"title":"Knowledge base clustering for KBS maintenance","authors":"O. Lee, P. Gray","doi":"10.1002/(SICI)1096-908X(199811/12)10:6%3C395::AID-SMR179%3E3.0.CO;2-4","DOIUrl":"https://doi.org/10.1002/(SICI)1096-908X(199811/12)10:6%3C395::AID-SMR179%3E3.0.CO;2-4","url":null,"abstract":"Clustering the rules in a knowledge-based system (KBS) on the basis of their static distance (lexical information) reduces the burden of understanding in the mind of the maintainer. This paper explores a clustering algorithm based on the Hopfield neural net algorithm that clusters automatically using lexical similarity. Using that algorithm, this paper presents a tool that can aid the maintainer in maintaining a KBS. The tool is the Rule Base Clusterizer (RBC) which structures the KBS rule base to make it appear easy to understand for the maintainer. This paper shows by using entropy and Miller's number that the RBC finds the best clustering that produces both an adequate amount of information and acceptable sized clusters. The paper also presents three examples of running the RBC on real-world rule bases. © 1998 John Wiley & Sons, Ltd.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"129 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":"121616522","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}
引用次数: 6
Training for software maintenance 软件维护培训
J. Softw. Maintenance Res. Pract. Pub Date : 1998-11-01 DOI: 10.1002/(SICI)1096-908X(199811/12)10:6%3C381::AID-SMR177%3E3.0.CO;2-N
M. Taylor, E. Moynihan, A. Laws
{"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}
引用次数: 10
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信