{"title":"Extending the UML to support evolution management","authors":"R. France, J. Bieman, R. Trask","doi":"10.1109/ICSM.2001.972718","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972718","url":null,"abstract":"Summary form only given. The authors are currently developing a model-driven, repository-based approach to system evolution management. The primary domain of interest is the telecommunication IT system area, but the techniques are applicable to organizations with integrated systems of systems. The approach is model-driven in the sense that data and object-oriented (OO) models (expressed in the Unified Modeling Language (UML)) are used to represent system implementations at various levels of abstractions (business requirements, system requirements, logical and physical design).","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133569965","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":"Flow analysis to detect blocked statements","authors":"B. Malenfant, G. Antoniol, E. Merlo, M. Dagenais","doi":"10.1109/ICSM.2001.972712","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972712","url":null,"abstract":"In the context of software quality assessment, the paper proposes two new kinds of data which can be extracted from source code. The first, definitely blocked statements, can never be executed because preceding code prevents the execution of the program. The other data, called possibly blocked statements, may be blocked by blocking code. The paper presents original flow equations to compute definitely and possibly blocked statements in source code. The experimental context is described and results are shown and discussed. Suggestions for further research are also presented.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"181 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134521578","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":"The impact of software evolution on code coverage information","authors":"Sebastian G. Elbaum, D. Gable, G. Rothermel","doi":"10.1109/ICSM.2001.972727","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972727","url":null,"abstract":"Many tools and techniques for addressing software maintenance problems rely on code coverage information. Often, this coverage information is gathered for a specific version of a software system, and then used to perform analyses on subsequent versions of that system without being recalculated. As a software system evolves, however, modifications to the software alter the software's behavior on particular inputs, and code coverage information gathered on earlier versions of a program may not accurately reflect the coverage that would be obtained on later versions. This discrepancy may affect the success of analyses dependent on code coverage information. Despite the importance of coverage information in various analyses, in our search of the literature we find no studies specifically examining the impact of software evolution on code coverage information. Therefore, we conducted empirical studies to examine this impact. The results of our studies suggest that even relatively small modifications can greatly affect code coverage information, and that the degree of impact of change on coverage may be difficult to predict.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117098092","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":"Summary of dynamically discovering likely program invariants","authors":"Michael D. Ernst","doi":"10.1109/ICSM.2001.972767","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972767","url":null,"abstract":"The dissertation dynamically discovering likely program invariants introduces dynamic detection of program invariants, presents techniques for detecting such invariants from traces, assesses the techniques' efficacy, and points the way for future research. Invariants are valuable in many aspects of program development, including design, coding, verification, testing, optimization, and maintenance. They also enhance programmers' understanding of data structures, algorithms, and program operation. Unfortunately, explicit invariants are usually absent from programs, depriving programmers and automated tools of their benefits. The dissertation shows how invariants can be dynamically detected from program traces that capture variable values at program points of interest. The user runs the target program over a test suite to create the traces, and an invariant detector determines which properties and relationships hold over both explicit variables and other expressions. Properties that hold over the traces and also satisfy other tests, such as being statistically justified, not being over unrelated variables, and not being implied by other reported invariants, are reported as likely invariants. Like other dynamic techniques such as testing, the quality of the output depends in part on the comprehensiveness of the test suite. If the test suite is inadequate, then the output indicates how, permitting its improvement. Dynamic analysis complements static techniques, which can be made sound but for which certain program constructs remain beyond the state of the art. Experiments demonstrate a number of positive qualities of dynamic invariant detection and of a prototype implementation, Daikon. Invariant detection is accurate-it rediscovers formal specifications-and useful-it assists programmers in programming tasks. It runs quickly and produces output of modest size. Test suites found in practice tend to be adequate for dynamic invariant detection.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117274368","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":"Software renewal process comprehension using dynamic effort estimation","authors":"D. Caivano, F. Lanubile, G. Visaggio","doi":"10.1109/ICSM.2001.972734","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972734","url":null,"abstract":"The paper presents a method for dynamic effort estimation, together with its supporting tool, and experimental validation on a renewal project of a very aged software system. Method characteristics such as dynamic tuning and fine granularity allow the tool to quickly react to process variations. The experimental validation shows how the combination of meaningful predictors and fine grain calibration is effective for understanding the enacted process and its implicit changes, or controlling the efficacy of explicit process changes. The study also confirms that the estimation model is process-dependent and then cannot be reused for other processes, albeit similar.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129338676","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":"Towards a business maintenance model","authors":"M. Kajko-Mattsson","doi":"10.1109/ICSM.2001.972763","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972763","url":null,"abstract":"In this paper, we present our suggestion for a business maintenance model. We call it \"Corrective Maintenance Maturity Model\" (CM/sup 3/). In contrast to other process models, it is a specialised model, entirely dedicated to only corrective software maintenance. It views maintenance in terms of the activities to be performed and their order, in terms of the information utilised by these activities, goals, rules and motivations for their execution, and organisational levels and roles involved at various stages of the corrective maintenance process.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133651253","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}
A. D. Lucia, Antonello Pannella, Eugenio Pompella, Silvio Stefanucci
{"title":"Assessing massive maintenance processes: an empirical study","authors":"A. D. Lucia, Antonello Pannella, Eugenio Pompella, Silvio Stefanucci","doi":"10.1109/ICSM.2001.972758","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972758","url":null,"abstract":"We present an empirical study from the experience of a major. international software enterprise in conducting massive adaptive maintenance projects with a close deadline. The adopted process entails the decomposition of the application portfolio into loosely coupled work-packets that can be independently and incrementally worked out by teams distributed on different sites. The study analyzes the correlation between maintenance size and productivity metrics of a large Y2K project. The resulting models allows to estimate the costs of a project conducted according to the adopted massive maintenance process and distribute them among the different phases.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131336885","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 formal foundation for object-oriented software evolution","authors":"T. Mens","doi":"10.1109/ICSM.2001.972769","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972769","url":null,"abstract":"My PhD thesis claims that the principles behind object-oriented software evolution are independent of a particular domain or phase in the software lifecycle. To validate this claim, a formalism based on graphs and graph rewriting was developed and applied to a particular aspect of software evolution, namely the problem of software upgrading and software merging. When the same piece of software is modified in parallel by different software developers, unexpected inconsistencies can arise. Formal support can be provided to detect and resolve these inconsistencies in a general way.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132648101","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":"Automating language conversion: a case study (an extended abstract)","authors":"A. Terekhov","doi":"10.1109/ICSM.2001.972782","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972782","url":null,"abstract":"Language conversion is a laborious process. Achieving the maximum efficiency of conversion without compromising the quality of converted system is the programmers' dream. This paper illustrates the quest for this trade-off by a case study. We consider an industrial reengineering project, which included translation of a client/server system written in a proprietary language into two different programming languages. We also discuss various factors that affect the automation level of language conversions.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"22 16","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113984633","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":"Entropies as measures of software information","authors":"S. Abd-El-Hafiz","doi":"10.1109/ICSM.2001.972721","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972721","url":null,"abstract":"This paper investigates the use of entropies as measures of software information content. Several entropies, including the well-known Shannon entropy, are characterized by their mathematical properties. Based on these characterizations, the entropies, which are suitable for measuring software systems, are rigorously chosen. By treating a software system as an information source, the function calls in procedural systems or method invocations in object-oriented systems resemble the emission of symbols from an information source. Thus, the probabilities, required for computing the entropies, are obtained using an empirical distribution of function calls or method invocations. Application of the suggested measures on procedural and object-oriented programs is further explained using two small examples. Because a. rigorous definition of information measures does not guarantee their usefulness in practice, an evaluation case study is performed In particular, the aim of this study is to practically evaluate the intuitiveness and scalability of the measures on a real software system totaling about 460000 lines of code. In addition to being intuitive and meaningful, the case study results highlight differences between the information measures. Thus, the family of measures presented can satisfy different measurement requirements.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123860097","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}