Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167791
Josep Silva, I. Ramos, J. A. Carsí
In this paper, an algorithmic study of how to compare object-oriented conceptual schemas in a data migration context is carried out. An algorithm is presented based on the tree-comparison technique that compares conceptual schemas. The algorithm uses semantic information in order to optimize efficiency. A template of the equivalences and differences between two schemas is generated in an automatic way. The template shows the results in terms of insertions, updates and deletions. This work is the first phase in a tool which performs the automatic migration of databases starting from the differences detected.
{"title":"An algorithm to compare OO-conceptual schemas","authors":"Josep Silva, I. Ramos, J. A. Carsí","doi":"10.1109/ICSM.2002.1167791","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167791","url":null,"abstract":"In this paper, an algorithmic study of how to compare object-oriented conceptual schemas in a data migration context is carried out. An algorithm is presented based on the tree-comparison technique that compares conceptual schemas. The algorithm uses semantic information in order to optimize efficiency. A template of the equivalences and differences between two schemas is generated in an automatic way. The template shows the results in terms of insertions, updates and deletions. This work is the first phase in a tool which performs the automatic migration of databases starting from the differences detected.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114171078","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167770
Marco Torchiano
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged, has been scarcely explored. Patterns are most useful in understanding software when they are well documented. Sometimes they are described separately from code as design comments. Nevertheless, they have a strong relationship with the source code and thus they should also be documented at the source level. Unfortunately, there is no agreement on how to document pattern use. This paper describes a structured approach to documenting pattern use in the Java language. Our solution is based on the standard Javadoc tool and is able to generate HTML documentation. The approach has been implemented and tested with software that uses patterns.
{"title":"Documenting pattern use in Java programs","authors":"Marco Torchiano","doi":"10.1109/ICSM.2002.1167770","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167770","url":null,"abstract":"Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged, has been scarcely explored. Patterns are most useful in understanding software when they are well documented. Sometimes they are described separately from code as design comments. Nevertheless, they have a strong relationship with the source code and thus they should also be documented at the source level. Unfortunately, there is no agreement on how to document pattern use. This paper describes a structured approach to documenting pattern use in the Java language. Our solution is based on the standard Javadoc tool and is able to generate HTML documentation. The approach has been implemented and tested with software that uses patterns.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120999037","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167758
A. Lai, G. Murphy
Many modification tasks on an existing software system result in changes to code that crosscuts the system's structure. Making these changes is difficult because a developer must understand large parts of the system, and must reason about how the modification will interact with the existing behaviour. Typically, developers make these kinds of changes using an ad-hoc approach with tools that help in gaining some understanding of the existing system, but that do not provide any specific support for reasoning about, implementing, or analyzing just that part of the system related to the modification. We present the behavioural concern modelling (BCM) approach and tool that provide direct support for a systematic approach to modification tasks. This approach enables a developer to create a partial, abstract, grounded behavioural model of a concern(s). By grounded, we mean that the relationship between the model and the code is explicit: A developer describes which code contributes to which parts of the model. The examples we describe use a finite state machine as a model. We show how the approach can help a developer capture a concern, reason about design options, and implement modifications.
{"title":"Behavioural concern modelling for software change tasks","authors":"A. Lai, G. Murphy","doi":"10.1109/ICSM.2002.1167758","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167758","url":null,"abstract":"Many modification tasks on an existing software system result in changes to code that crosscuts the system's structure. Making these changes is difficult because a developer must understand large parts of the system, and must reason about how the modification will interact with the existing behaviour. Typically, developers make these kinds of changes using an ad-hoc approach with tools that help in gaining some understanding of the existing system, but that do not provide any specific support for reasoning about, implementing, or analyzing just that part of the system related to the modification. We present the behavioural concern modelling (BCM) approach and tool that provide direct support for a systematic approach to modification tasks. This approach enables a developer to create a partial, abstract, grounded behavioural model of a concern(s). By grounded, we mean that the relationship between the model and the code is explicit: A developer describes which code contributes to which parts of the model. The examples we describe use a finite state machine as a model. We show how the approach can help a developer capture a concern, reason about design options, and implement modifications.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116666841","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167798
Jin-Cherng Lin, Ling-Hsuan Huang
One major aspect of software structural testing emphasizes the coverage criterion. Not only procedure-oriented programs, but also member functions of object-oriented programs can be dealt with by structure testing. A program with higher degree of testing coverage indicates that the program might achieve better reliability. There is a conventional metric for testing coverage measurement. However, the metric is affected inadvertently by including undesirable entities. The measurement of coverage rate increases rapidly when the initial groups of test data are executed, which results in the overestimation of the software reliability. The goal of this research is to improve the conventional testing coverage metric, then to use it to precisely estimate the ratio of elements tested. In this paper, a set of rules is developed to identify dominant tested elements. Measuring the coverage rate of the dominant elements can rationalize the measurement results.
{"title":"A table reduction approach for software structure testing","authors":"Jin-Cherng Lin, Ling-Hsuan Huang","doi":"10.1109/ICSM.2002.1167798","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167798","url":null,"abstract":"One major aspect of software structural testing emphasizes the coverage criterion. Not only procedure-oriented programs, but also member functions of object-oriented programs can be dealt with by structure testing. A program with higher degree of testing coverage indicates that the program might achieve better reliability. There is a conventional metric for testing coverage measurement. However, the metric is affected inadvertently by including undesirable entities. The measurement of coverage rate increases rapidly when the initial groups of test data are executed, which results in the overestimation of the software reliability. The goal of this research is to improve the conventional testing coverage metric, then to use it to precisely estimate the ratio of elements tested. In this paper, a set of rules is developed to identify dominant tested elements. Measuring the coverage rate of the dominant elements can rationalize the measurement results.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134125668","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167774
A. van Deursen, T. Lethbridge
The IEEE/ACM CCSE initiative to propose guidelines for an undergraduate program in software engineering provides an opportunity to rethink the role of software maintenance and evolution in software engineering curricula. The purpose of this panel is to share experiences and discuss novel ways in which evolution and maintenance can be incorporated in an undergraduate software engineering curriculum.
{"title":"How should software evolution and maintenance be taught?","authors":"A. van Deursen, T. Lethbridge","doi":"10.1109/ICSM.2002.1167774","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167774","url":null,"abstract":"The IEEE/ACM CCSE initiative to propose guidelines for an undergraduate program in software engineering provides an opportunity to rethink the role of software maintenance and evolution in software engineering curricula. The purpose of this panel is to share experiences and discuss novel ways in which evolution and maintenance can be incorporated in an undergraduate software engineering curriculum.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115670139","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167817
Mario Alessandro Bochicchio, A. Longo
In this paper we describe an approach to improve fiscal data quality in the management of estates' local taxes. In particular we define the concept of "avalanche effects" as a consequence of various data dirtiness problems and of the specific kind of rules governing the tax process. An application of this approach is discussed referring to the results of the Taviano Project, a real case in the Southeast of Italy.
{"title":"An effective approach to reduce the \"avalanche effect\" in the management of fiscal data in local public administration","authors":"Mario Alessandro Bochicchio, A. Longo","doi":"10.1109/ICSM.2002.1167817","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167817","url":null,"abstract":"In this paper we describe an approach to improve fiscal data quality in the management of estates' local taxes. In particular we define the concept of \"avalanche effects\" as a consequence of various data dirtiness problems and of the specific kind of rules governing the tax process. An application of this approach is discussed referring to the results of the Taviano Project, a real case in the Southeast of Italy.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123464907","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167746
Yuming Zhou, Baowen Xu, Jianjun Zhao, Hongji Yang
Class cohesion could be used to evaluate the design quality of classes, to develop test measures for object-oriented software and to restructure poorly designed classes. Among a number of class cohesion measures proposed in the last decade, Chae's measure is based on the structure of the reference graph of a class, which overcomes the limitations of most class cohesion measures. However, it only considers the patterns of interactions among the members of a class partly and hence does not satisfy monotonicity, which may cause the measurement results to be inconsistent with intuition in some cases. This paper first analyzes the limitations of typical cohesion measures for classes in detail, and then proposes an improved cohesion measure ICBMC. Finally, this paper exemplifies the advantages and applications of ICBMC.
{"title":"ICBMC: an improved cohesion measure for classes","authors":"Yuming Zhou, Baowen Xu, Jianjun Zhao, Hongji Yang","doi":"10.1109/ICSM.2002.1167746","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167746","url":null,"abstract":"Class cohesion could be used to evaluate the design quality of classes, to develop test measures for object-oriented software and to restructure poorly designed classes. Among a number of class cohesion measures proposed in the last decade, Chae's measure is based on the structure of the reference graph of a class, which overcomes the limitations of most class cohesion measures. However, it only considers the patterns of interactions among the members of a class partly and hence does not satisfy monotonicity, which may cause the measurement results to be inconsistent with intuition in some cases. This paper first analyzes the limitations of typical cohesion measures for classes in detail, and then proposes an improved cohesion measure ICBMC. Finally, this paper exemplifies the advantages and applications of ICBMC.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121752353","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167819
G. Ben-Yaacov
In today's fast-paced high-tech software application market (eg software tools that are used in the design of new computer chips), software development teams face incredible challenges to keep up with increasing cost of software maintenance, fast changes in technology complexity and time-to market pressures. Under these challenges, users of these software tools have been saying that quality issues with their software applications cost them dearly in lost productivity and in missing tight deadlines.
{"title":"Driving software quality at a silicon valley high-tech software company","authors":"G. Ben-Yaacov","doi":"10.1109/ICSM.2002.1167819","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167819","url":null,"abstract":"In today's fast-paced high-tech software application market (eg software tools that are used in the design of new computer chips), software development teams face incredible challenges to keep up with increasing cost of software maintenance, fast changes in technology complexity and time-to market pressures. Under these challenges, users of these software tools have been saying that quality issues with their software applications cost them dearly in lost productivity and in missing tight deadlines.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121854891","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167763
S. Reiss
Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the different dimensions evolve concurrently. This can be accomplished through an integration framework that maintains consistency of the different dimensions as they evolve. We have built a prototype of such a mechanism by setting up and maintaining constraints among artifacts representing the different software dimensions. This paper describes that prototype and our experiences with it to date.
{"title":"Constraining software evolution","authors":"S. Reiss","doi":"10.1109/ICSM.2002.1167763","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167763","url":null,"abstract":"Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the different dimensions evolve concurrently. This can be accomplished through an integration framework that maintains consistency of the different dimensions as they evolve. We have built a prototype of such a mechanism by setting up and maintaining constraints among artifacts representing the different software dimensions. This paper describes that prototype and our experiences with it to date.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124236824","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 : 2002-10-03DOI: 10.1109/ICSM.2002.1167772
N. Schneidewind
In general, software reliability models have focused an modeling and predicting failure occurrence and have not given equal priority to modeling the fault correction process. However, there is a need for fault correction prediction, because there are important applications that fault correction modeling and prediction support. These are the following: predicting whether reliability goals have been achieved, developing stopping rules for testing, formulating test strategies, and rationally allocating test resources. Because these factors are related, we integrate them in our model. Our modeling approach involves relating fault correction to failure prediction, with a time delay estimated from a fault correction queuing model.
{"title":"An integrated failure detection and fault correction model","authors":"N. Schneidewind","doi":"10.1109/ICSM.2002.1167772","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167772","url":null,"abstract":"In general, software reliability models have focused an modeling and predicting failure occurrence and have not given equal priority to modeling the fault correction process. However, there is a need for fault correction prediction, because there are important applications that fault correction modeling and prediction support. These are the following: predicting whether reliability goals have been achieved, developing stopping rules for testing, formulating test strategies, and rationally allocating test resources. Because these factors are related, we integrate them in our model. Our modeling approach involves relating fault correction to failure prediction, with a time delay estimated from a fault correction queuing model.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126411430","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}