Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972757
Lerina Aversano, S. Betti, A. D. Lucia, Silvio Stefanucci
Software organizations are moving from traditional software factory models towards virtual organization models, where distributed teams converge in a temporary network with the aim of integrating different competences or solving problems in a cooperative way. Most workflow management systems of last generation are web based and this makes them a viable enabling technology for remodeling both the organization structure and its processes in order to move towards a virtual organization model and increase its competitiveness. We present a case study of introducing workflow technologies in a large software enterprise. In particular, a workflow-based prototype implementation for the management of the ordinary maintenance process is discussed.
{"title":"Introducing workflow management in software maintenance processes","authors":"Lerina Aversano, S. Betti, A. D. Lucia, Silvio Stefanucci","doi":"10.1109/ICSM.2001.972757","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972757","url":null,"abstract":"Software organizations are moving from traditional software factory models towards virtual organization models, where distributed teams converge in a temporary network with the aim of integrating different competences or solving problems in a cooperative way. Most workflow management systems of last generation are web based and this makes them a viable enabling technology for remodeling both the organization structure and its processes in order to move towards a virtual organization model and increase its competitiveness. We present a case study of introducing workflow technologies in a large software enterprise. In particular, a workflow-based prototype implementation for the management of the ordinary maintenance process is discussed.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"48 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":"126902705","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972764
G. Antoniol, G. Casazza, G. D. Lucca, M. D. Penta, Francesco Rago
The Internet and WEB pervasivenesses are changing the landscape of several different areas, ranging from information gathering/managing and commerce to software development, maintenance and evolution. Software companies having a geographically distributed structure, or geographically distributed customers, are adopting information communication technologies to cooperate. Communication technologies and infrastructures allow the companies to create a virtual software factory. This paper proposes to adopt queue theory to deal with an economically relevant category of problems: the staffing, the process management and the service level evaluation of massive maintenance projects in a virtual software factory. Data from a massive corrective maintenance intervention were used to simulate and study different service center configurations, in particular, a monolithic configuration and a configuration corresponding to a multi-phase maintenance process where several maintenance centers cooperated. Queue theory allowed effective control of the process supporting project management decisions. The mathematical tool provided a means to assess staffing, evaluate service level and balance the workload between maintenance centers while executing the project.
{"title":"A queue theory-based approach to staff software maintenance centers","authors":"G. Antoniol, G. Casazza, G. D. Lucca, M. D. Penta, Francesco Rago","doi":"10.1109/ICSM.2001.972764","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972764","url":null,"abstract":"The Internet and WEB pervasivenesses are changing the landscape of several different areas, ranging from information gathering/managing and commerce to software development, maintenance and evolution. Software companies having a geographically distributed structure, or geographically distributed customers, are adopting information communication technologies to cooperate. Communication technologies and infrastructures allow the companies to create a virtual software factory. This paper proposes to adopt queue theory to deal with an economically relevant category of problems: the staffing, the process management and the service level evaluation of massive maintenance projects in a virtual software factory. Data from a massive corrective maintenance intervention were used to simulate and study different service center configurations, in particular, a monolithic configuration and a configuration corresponding to a multi-phase maintenance process where several maintenance centers cooperated. Queue theory allowed effective control of the process supporting project management decisions. The mathematical tool provided a means to assess staffing, evaluate service level and balance the workload between maintenance centers while executing the project.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"209 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":"115927846","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972735
M. Lehman, J. Fernández-Ramil, U. Sandler
Three related models of growth, consistent with the view that complexity constrains system growth, were fitted to empirical data relating to four software systems. Predictive accuracy of the models, measured in mean magnitude of relative error, ranges from approximately 2 to 17 percent of the quantitative data. The modelling approach emphasises simple models that, nevertheless, provide a basis for evolution planning and management tools. These and previous results suggest that it is meaningful to search for models of this kind, though the presence of discontinuities in the trends and the extent to which the latter are restricted to individual processes or specific domains need to be further investigated. The work presented has been pursued as part of the FEAST/2 (Feedback, Evolution And Software Technology) project.
{"title":"An approach to modelling long-term growth trends in software systems","authors":"M. Lehman, J. Fernández-Ramil, U. Sandler","doi":"10.1109/ICSM.2001.972735","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972735","url":null,"abstract":"Three related models of growth, consistent with the view that complexity constrains system growth, were fitted to empirical data relating to four software systems. Predictive accuracy of the models, measured in mean magnitude of relative error, ranges from approximately 2 to 17 percent of the quantitative data. The modelling approach emphasises simple models that, nevertheless, provide a basis for evolution planning and management tools. These and previous results suggest that it is meaningful to search for models of this kind, though the presence of discontinuities in the trends and the extent to which the latter are restricted to individual processes or specific domains need to be further investigated. The work presented has been pursued as part of the FEAST/2 (Feedback, Evolution And Software Technology) project.","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":"128883678","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972744
V. Demesticha, Jaroslav Gergic, Jan Kleindienst, M. Mast, L. Polymenakos, Henrik Schulz, L. Serédi
The paper describes an architecture for multi-channel and multi-modal applications. First the design problem is explored and a proposal for a system that can handle multi-modal interaction and delivery of Internet content is proposed. The focus is pertained in some development aspects and the way they are addressed by using state-of-the-art tools. The various components are defined and described in detail. Finally, conclusions and a view of future work on the evolution of such systems is given.
{"title":"Aspects of design and implementation of a multi-channel and multi-modal information system","authors":"V. Demesticha, Jaroslav Gergic, Jan Kleindienst, M. Mast, L. Polymenakos, Henrik Schulz, L. Serédi","doi":"10.1109/ICSM.2001.972744","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972744","url":null,"abstract":"The paper describes an architecture for multi-channel and multi-modal applications. First the design problem is explored and a proposal for a system that can handle multi-modal interaction and delivery of Internet content is proposed. The focus is pertained in some development aspects and the way they are addressed by using state-of-the-art tools. The various components are defined and described in detail. Finally, conclusions and a view of future work on the evolution of such systems is given.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"273 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":"122088145","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972779
T. Dean, J. Cordy, Kevin A. Schneider, A. Malton
The year 2000 problem posed a difficult problem for many IT shops world wide. The most difficult part of the problem was not the actual changes to ensure compliance, but finding and classifying the data fields that represent dates. This is a problem well suited to design recovery. The paper presents an overview of LS/2000, a system that used design recovery to analyze source code for year 2000 risks and guide a source transformation that was able to automatically remediate over 99% of the year 2000 risks in over three billion lines of production IT source.
{"title":"Using design recovery techniques to transform legacy systems","authors":"T. Dean, J. Cordy, Kevin A. Schneider, A. Malton","doi":"10.1109/ICSM.2001.972779","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972779","url":null,"abstract":"The year 2000 problem posed a difficult problem for many IT shops world wide. The most difficult part of the problem was not the actual changes to ensure compliance, but finding and classifying the data fields that represent dates. This is a problem well suited to design recovery. The paper presents an overview of LS/2000, a system that used design recovery to analyze source code for year 2000 risks and guide a source transformation that was able to automatically remediate over 99% of the year 2000 risks in over three billion lines of production IT source.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"415 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":"122794396","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972771
F. Fioravanti
In this paper an abstract of the Ph.D. thesis discussed at the University of Florence by the author is presented. The main focus of the thesis was in the identification and validation, both theoretical and empirical, of Object-Oriented metrics for complexity, and then, effort estimation. Complexity/effort metrics have been validated against test cases for verifying effectiveness of the estimation for evaluating development and maintenance effort.
{"title":"A metric framework for the assessment of object-oriented systems","authors":"F. Fioravanti","doi":"10.1109/ICSM.2001.972771","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972771","url":null,"abstract":"In this paper an abstract of the Ph.D. thesis discussed at the University of Florence by the author is presented. The main focus of the thesis was in the identification and validation, both theoretical and empirical, of Object-Oriented metrics for complexity, and then, effort estimation. Complexity/effort metrics have been validated against test cases for verifying effectiveness of the estimation for evaluating development and maintenance effort.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"44 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":"114383898","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972711
Darren C. Atkinson, W. Griswold
Many software engineering tools such as program slicers must perform data-flow analysis in order to extract necessary information from the program source. These tools typically borrow much of their implementation from optimizing compilers. However, since these tools are expected to analyze programs in their entirety, rather than functions in isolation, the time and space performance of the dataflow analyses are of major concern. We present techniques that reduce the time and space required to perform dataflow analysis of large programs. We have used these techniques to implement an efficient program slicing tool for C programs and have computed slices of programs with more than 100,000 lines of code.
{"title":"Implementation techniques for efficient data-flow analysis of large programs","authors":"Darren C. Atkinson, W. Griswold","doi":"10.1109/ICSM.2001.972711","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972711","url":null,"abstract":"Many software engineering tools such as program slicers must perform data-flow analysis in order to extract necessary information from the program source. These tools typically borrow much of their implementation from optimizing compilers. However, since these tools are expected to analyze programs in their entirety, rather than functions in isolation, the time and space performance of the dataflow analyses are of major concern. We present techniques that reduce the time and space required to perform dataflow analysis of large programs. We have used these techniques to implement an efficient program slicing tool for C programs and have computed slices of programs with more than 100,000 lines of code.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"45 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":"133411506","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972790
A. Orso, M. J. Harrold, David S. Rosenblum, G. Rothermel, M. Soffa, Hyunsook Do
Component based software technologies are viewed as essential for creating the software systems of the future. However, the use of externally-provided components has serious drawbacks for a wide range of software engineering activities, often because of a lack of information about the components. Previously (A. Orso et al., 2000), we proposed the use of component metacontents: additional data and methods provided with a component, to support software engineering tasks. The authors present two new metacontent based techniques that address the problem of regression test selection for component based applications: a code based approach and a specification based approach. First, we illustrate the two techniques. Then, we present a case study that applies the code based technique to a real component based system. On the system studied, on average, 26% of the overall testing effort was saved over seven releases, with a maximum savings of 99% for one version.
{"title":"Using component metacontent to support the regression testing of component-based software","authors":"A. Orso, M. J. Harrold, David S. Rosenblum, G. Rothermel, M. Soffa, Hyunsook Do","doi":"10.1109/ICSM.2001.972790","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972790","url":null,"abstract":"Component based software technologies are viewed as essential for creating the software systems of the future. However, the use of externally-provided components has serious drawbacks for a wide range of software engineering activities, often because of a lack of information about the components. Previously (A. Orso et al., 2000), we proposed the use of component metacontents: additional data and methods provided with a component, to support software engineering tasks. The authors present two new metacontent based techniques that address the problem of regression test selection for component based applications: a code based approach and a specification based approach. First, we illustrate the two techniques. Then, we present a case study that applies the code based technique to a real component based system. On the system studied, on average, 26% of the overall testing effort was saved over seven releases, with a maximum savings of 99% for one version.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"325 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":"131549925","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972791
Kathryn Bassin, P. Santhanam
From the perspective of maintenance, software systems that include COTS software, legacy, ported or outsourced code pose a major challenge. The dynamics of enhancing or adapting a product to address evolving customer usage and the inadequate documentation of these changes over a period of time (and several generations) are just two of the factors which may have a debilitating effect on the maintenance effort. While many approaches and solutions have been offered to address the underlying problems, few offer methods which directly affect a team's ability to quickly identify and prioritize actions targeting the product which is already in front of them. The paper describes a method to analyze the information contained in the form of defect data and arrive at technical actions to address explicit product and process weaknesses which can be feasibly addressed in the current effort. The defects are classified using Orthogonal Defect Classification (ODC) and actual case studies are used to illustrate the key points.
{"title":"Managing the maintenance of ported, outsourced, and legacy software via orthogonal defect classification","authors":"Kathryn Bassin, P. Santhanam","doi":"10.1109/ICSM.2001.972791","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972791","url":null,"abstract":"From the perspective of maintenance, software systems that include COTS software, legacy, ported or outsourced code pose a major challenge. The dynamics of enhancing or adapting a product to address evolving customer usage and the inadequate documentation of these changes over a period of time (and several generations) are just two of the factors which may have a debilitating effect on the maintenance effort. While many approaches and solutions have been offered to address the underlying problems, few offer methods which directly affect a team's ability to quickly identify and prioritize actions targeting the product which is already in front of them. The paper describes a method to analyze the information contained in the form of defect data and arrive at technical actions to address explicit product and process weaknesses which can be feasibly addressed in the current effort. The defects are classified using Orthogonal Defect Classification (ODC) and actual case studies are used to illustrate the key points.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"110 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":"131576999","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}
Pub Date : 2001-11-07DOI: 10.1109/ICSM.2001.972775
J. Bieman, Dolly Jain, Helen J. Yang
A primary expected benefit of object-oriented (OO) methods is the creation of software systems that are easier to adapt and maintain. OO design patterns are especially geared to improve adaptability, since patterns generally increase the complexity of an initial design in order to ease future enhancements. For design patterns to really provide benefit, they must reduce the cost of future adaptation. The evidence of improvements in adaptability through the use of design patterns and other design structures consists primarily of intuitive arguments and examples. There is little empirical evidence to support claims of improved flexibility of these preferred structures. In this case study, we analyze 39 versions of an evolving industrial OO software system to see if there is a relationship between patterns, other design attributes, and the number of changes. We found a strong relationship between class size and the number of changes-larger classes were changed more frequently. We also found two relationships that we did not expect: (1) classes that participate in design patterns are not less change prone-these pattern classes are among the most change prone in the system, and (2) classes that are reused the most through inheritance tend to be more change prone. These unexpected results hold up after accounting for class size, which had the strongest relationship with changes.
{"title":"OO design patterns, design structure, and program changes: an industrial case study","authors":"J. Bieman, Dolly Jain, Helen J. Yang","doi":"10.1109/ICSM.2001.972775","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972775","url":null,"abstract":"A primary expected benefit of object-oriented (OO) methods is the creation of software systems that are easier to adapt and maintain. OO design patterns are especially geared to improve adaptability, since patterns generally increase the complexity of an initial design in order to ease future enhancements. For design patterns to really provide benefit, they must reduce the cost of future adaptation. The evidence of improvements in adaptability through the use of design patterns and other design structures consists primarily of intuitive arguments and examples. There is little empirical evidence to support claims of improved flexibility of these preferred structures. In this case study, we analyze 39 versions of an evolving industrial OO software system to see if there is a relationship between patterns, other design attributes, and the number of changes. We found a strong relationship between class size and the number of changes-larger classes were changed more frequently. We also found two relationships that we did not expect: (1) classes that participate in design patterns are not less change prone-these pattern classes are among the most change prone in the system, and (2) classes that are reused the most through inheritance tend to be more change prone. These unexpected results hold up after accounting for class size, which had the strongest relationship with changes.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"4 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":"128679166","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}