Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167790
Yunbo Deng, S. Kothari
Tools that can bridge the gap between domain knowledge and specific program artifacts are valuable for maintenance work,. This paper describes a tool that can be used to identify conceptual roles associated with program variables and groups of related variables representing relationships in problem domain. The analysis performed by the tool has two levels. The lower-level program-centric analysis is independent of the problem domain. The program-centric analyzers extract syntactic and semantic information about program variables. The results are stored as an XML repository to enable their reuse by other tools. The higher-level analysis is knowledge-centric and customized to make effective use of domain knowledge. To allow our tool to be adaptable to different domains, we provide a customizable rule-based analysis mechanism. To illustrate our tool and the underlying approach, we present simple illustrative examples and a complete case study based on a real-world program. This tool is a part of SeeCORE, a knowledge-centric software engineering environment currently, being developed in our research laboratory.
{"title":"Recovering conceptual roles of data in a program","authors":"Yunbo Deng, S. Kothari","doi":"10.1109/ICSM.2002.1167790","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167790","url":null,"abstract":"Tools that can bridge the gap between domain knowledge and specific program artifacts are valuable for maintenance work,. This paper describes a tool that can be used to identify conceptual roles associated with program variables and groups of related variables representing relationships in problem domain. The analysis performed by the tool has two levels. The lower-level program-centric analysis is independent of the problem domain. The program-centric analyzers extract syntactic and semantic information about program variables. The results are stored as an XML repository to enable their reuse by other tools. The higher-level analysis is knowledge-centric and customized to make effective use of domain knowledge. To allow our tool to be adaptable to different domains, we provide a customizable rule-based analysis mechanism. To illustrate our tool and the underlying approach, we present simple illustrative examples and a complete case study based on a real-world program. This tool is a part of SeeCORE, a knowledge-centric software engineering environment currently, being developed in our research laboratory.","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":"125729650","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.1167796
R. Tvedt, P. Costa, M. Lindvall
Constant changes cause software architectures to degenerate. In organizations where developers are involved in the maintenance and evolution, system degeneration is even more likely to occur. We have experimented with a process for detecting deviations from the intended design. The process is a quick and inexpensive process that helps to keep the system architecture from veering off course from the planned design. It is expected to improve maintainability over time. The paper describes our evaluation process, the metrics used and presents results of applying the process in a case study. The case study illustrates the difficulty involved in detecting deviations without a systematic approach. The process used to evaluate the architecture is general and straightforward. We believe the process can be reused in other contexts.
{"title":"Does the code match the design? A process for architecture evaluation","authors":"R. Tvedt, P. Costa, M. Lindvall","doi":"10.1109/ICSM.2002.1167796","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167796","url":null,"abstract":"Constant changes cause software architectures to degenerate. In organizations where developers are involved in the maintenance and evolution, system degeneration is even more likely to occur. We have experimented with a process for detecting deviations from the intended design. The process is a quick and inexpensive process that helps to keep the system architecture from veering off course from the planned design. It is expected to improve maintainability over time. The paper describes our evaluation process, the metrics used and presents results of applying the process in a case study. The case study illustrates the difficulty involved in detecting deviations without a systematic approach. The process used to evaluate the architecture is general and straightforward. We believe the process can be reused in other contexts.","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":"124851413","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.1167787
G. D. Lucca, A. R. Fasolino, Francesco Faralli, U. D. Carlini
The rapid diffusion of Internet and open standard technologies is producing a significant growth of the demand of Web sites and Web applications with more and more strict requirements of usability, reliability, interoperability and security. While several methodological and technological proposals for developing Web applications are coining both from industry and academia, there is a general lack of methods and tools to carry out the key processes that significantly impact the quality of a Web application (WA), such as the validation & verification (V&V), and quality assurance. Some open issues in the field of Web application testing are addressed in this paper. The paper exploits an object-oriented model of a WA as a test model, and proposes a definition of the unit level for testing the WA. Based on this model, a method to test the single units of a WA and for the integration testing is proposed. Moreover, in order to experiment with the proposed technique and strategy, an integrated platform of tools comprising a Web application analyzer, a repository, a test case generator and a test case executor, has been developed and is presented in the paper. A case study, carried out with the aim of assessing the effectiveness of the proposed method and tools, produced interesting and encouraging results.
{"title":"Testing Web applications","authors":"G. D. Lucca, A. R. Fasolino, Francesco Faralli, U. D. Carlini","doi":"10.1109/ICSM.2002.1167787","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167787","url":null,"abstract":"The rapid diffusion of Internet and open standard technologies is producing a significant growth of the demand of Web sites and Web applications with more and more strict requirements of usability, reliability, interoperability and security. While several methodological and technological proposals for developing Web applications are coining both from industry and academia, there is a general lack of methods and tools to carry out the key processes that significantly impact the quality of a Web application (WA), such as the validation & verification (V&V), and quality assurance. Some open issues in the field of Web application testing are addressed in this paper. The paper exploits an object-oriented model of a WA as a test model, and proposes a definition of the unit level for testing the WA. Based on this model, a method to test the single units of a WA and for the integration testing is proposed. Moreover, in order to experiment with the proposed technique and strategy, an integrated platform of tools comprising a Web application analyzer, a repository, a test case generator and a test case executor, has been developed and is presented in the paper. A case study, carried out with the aim of assessing the effectiveness of the proposed method and tools, produced interesting and encouraging 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":"130066066","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.1167812
James J. Hunt, W. Tichy
Parallel development has become standard practice in software development and maintenance. Though almost every revision control and configuration management system provides some form of merging for combining changes made in parallel, these mechanisms often yield unsatisfactory results. The authors present a new merging algorithm, that uses a fast differencing algorithm and renaming analysis to provide better merge results. The system is language aware, but not language dependent and does not require a special editor so it can be easily integrated in current development environments.
{"title":"Extensible language-aware merging","authors":"James J. Hunt, W. Tichy","doi":"10.1109/ICSM.2002.1167812","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167812","url":null,"abstract":"Parallel development has become standard practice in software development and maintenance. Though almost every revision control and configuration management system provides some form of merging for combining changes made in parallel, these mechanisms often yield unsatisfactory results. The authors present a new merging algorithm, that uses a fast differencing algorithm and renaming analysis to provide better merge results. The system is language aware, but not language dependent and does not require a special editor so it can be easily integrated in current development environments.","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":"121034720","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.1167826
R. Redondo, J. Pazos-Arias, Ana Fernández Vilas, Ana Belén Barragáns-Martínez
This paper describes how ARIFS tool (Approximate Retrieval of Incomplete and Formal Specifications) provides a suitable reusing environment to classify, retrieve and adapt formal and incomplete requirements specifications. Both classification and retrieval tasks are based on functional similarities according to structural and semantic closeness. To this effect, we define four partial orderings among reusable components and different measures to quantify functional differences among them. By using these measures we are able to offer an approximate and efficient retrieval, without formal proofs, and to predict adaptation efforts to satisfy the required functional specification. This paper focus on semantic similarities as they are more remarkable in vertical reuse, that is, the reuse of software within same domain or application area.
{"title":"Approximate retrieval of incomplete and formal specifications applied to vertical reuse","authors":"R. Redondo, J. Pazos-Arias, Ana Fernández Vilas, Ana Belén Barragáns-Martínez","doi":"10.1109/ICSM.2002.1167826","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167826","url":null,"abstract":"This paper describes how ARIFS tool (Approximate Retrieval of Incomplete and Formal Specifications) provides a suitable reusing environment to classify, retrieve and adapt formal and incomplete requirements specifications. Both classification and retrieval tasks are based on functional similarities according to structural and semantic closeness. To this effect, we define four partial orderings among reusable components and different measures to quantify functional differences among them. By using these measures we are able to offer an approximate and efficient retrieval, without formal proofs, and to predict adaptation efforts to satisfy the required functional specification. This paper focus on semantic similarities as they are more remarkable in vertical reuse, that is, the reuse of software within same domain or application area.","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":"122450099","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.1167793
D. Tran-Cao, G. Lévesque, A. Abran
Data manipulation, or algorithmic complexity, is not taken into account adequately in any of the most popular functional size measurement methods. In this paper, we recall some well-known methods for measuring problem complexity in data manipulation and highlight the interest in arriving at a new definition of complexity. Up to now, the concept of effort has always been associated with complexity. This definition has the advantage of dissociating effort and complexity, referring instead to the characteristics and intrinsic properties of the software itself. Our objective is to propose some simple and practical approaches to the measurement of some of these characteristics which we consider particularly relevant and to incorporate them into a functional size measurement method.
{"title":"Measuring software functional size: towards an effective measurement of complexity","authors":"D. Tran-Cao, G. Lévesque, A. Abran","doi":"10.1109/ICSM.2002.1167793","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167793","url":null,"abstract":"Data manipulation, or algorithmic complexity, is not taken into account adequately in any of the most popular functional size measurement methods. In this paper, we recall some well-known methods for measuring problem complexity in data manipulation and highlight the interest in arriving at a new definition of complexity. Up to now, the concept of effort has always been associated with complexity. This definition has the advantage of dissociating effort and complexity, referring instead to the characteristics and intrinsic properties of the software itself. Our objective is to propose some simple and practical approaches to the measurement of some of these characteristics which we consider particularly relevant and to incorporate them into a functional size measurement method.","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":"132549892","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.1167797
Stefan Jungmayr
Regression testing is a major cost driver during software maintenance. An important approach to reduce maintenance costs is therefore to improve software testability The improvement efforts should concentrate on those parts of a software system that cause the most severe problems during testing and maintenance. This paper describes a new approach to testability improvement focusing on system structure. We identify dependencies that are critical for testing, i.e. test-critical dependencies, based on a set of testability metrics. The results of four case studies show that (1) a small subset of the dependencies within a system has an exceedingly high impact on particular testability metrics, (2) conventional coupling metrics are not good predictors of these test-critical dependencies, (3) dependencies automatically identified to be test-critical are good indicators of design that needs improvement.
{"title":"Identifying test-critical dependencies","authors":"Stefan Jungmayr","doi":"10.1109/ICSM.2002.1167797","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167797","url":null,"abstract":"Regression testing is a major cost driver during software maintenance. An important approach to reduce maintenance costs is therefore to improve software testability The improvement efforts should concentrate on those parts of a software system that cause the most severe problems during testing and maintenance. This paper describes a new approach to testability improvement focusing on system structure. We identify dependencies that are critical for testing, i.e. test-critical dependencies, based on a set of testability metrics. The results of four case studies show that (1) a small subset of the dependencies within a system has an exceedingly high impact on particular testability metrics, (2) conventional coupling metrics are not good predictors of these test-critical dependencies, (3) dependencies automatically identified to be test-critical are good indicators of design that needs improvement.","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":"122876946","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.1167821
Terence C. Lau, Yumman Chan, Ramzan Khuwaja, Jianguo Lu
Summary form only given. The Enterprise JavaBeans (EJB) architecture has become the norm in software application development, especially in the large, multi-tier, e-commerce environment. This is a report based on the IBM/spl reg/ WebSphere/spl reg/ Commerce Suite product, which provides a complete set of tools and interfaces to develop large-scale e-commerce systems and solutions. We share the experience of moving its e-commerce database applications over to an EJB environment. This project discusses the problems and issues encountered in the re-engineering of traditional database access applications (SQL) to the EJB programming model.
{"title":"Re-engineering of E-commerce legacy applications for Enterprise Java/spl trade/ environment","authors":"Terence C. Lau, Yumman Chan, Ramzan Khuwaja, Jianguo Lu","doi":"10.1109/ICSM.2002.1167821","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167821","url":null,"abstract":"Summary form only given. The Enterprise JavaBeans (EJB) architecture has become the norm in software application development, especially in the large, multi-tier, e-commerce environment. This is a report based on the IBM/spl reg/ WebSphere/spl reg/ Commerce Suite product, which provides a complete set of tools and interfaces to develop large-scale e-commerce systems and solutions. We share the experience of moving its e-commerce database applications over to an EJB environment. This project discusses the problems and issues encountered in the re-engineering of traditional database access applications (SQL) to the EJB programming 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":"126567732","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.1167762
F. G. Wilkie, T. Harmer
In this paper the design of a CASE tool for measuring the complexity of object oriented software systems is described. Use of the tool within the software testing and release sub-process is outlined. The paper argues that (i) for metrics to be properly integrated into a software process requires tool support; (ii) tools must support heterogeneous systems often involving multiple programming languages to be useful in commercial development environments and (iii) given the immaturity of current complexity metrics, tools must be adaptable so that new metrics can readily be incorporated to best support the software process. Using an object oriented programming language meta-model in its database schema, the tool provides a flexible architecture facilitating support for new object oriented programming languages and metrics with relative ease. We believe these are essential requirements for measurement tools used in environments of constantly improving software processes indicative of high maturity organisations.
{"title":"Tool support for measuring complexity in heterogeneous object-oriented software","authors":"F. G. Wilkie, T. Harmer","doi":"10.1109/ICSM.2002.1167762","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167762","url":null,"abstract":"In this paper the design of a CASE tool for measuring the complexity of object oriented software systems is described. Use of the tool within the software testing and release sub-process is outlined. The paper argues that (i) for metrics to be properly integrated into a software process requires tool support; (ii) tools must support heterogeneous systems often involving multiple programming languages to be useful in commercial development environments and (iii) given the immaturity of current complexity metrics, tools must be adaptable so that new metrics can readily be incorporated to best support the software process. Using an object oriented programming language meta-model in its database schema, the tool provides a flexible architecture facilitating support for new object oriented programming languages and metrics with relative ease. We believe these are essential requirements for measurement tools used in environments of constantly improving software processes indicative of high maturity organisations.","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":"123443181","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.1167792
A. Andrews, Sudipto Ghosh, Eun-Man Choi
Understanding the behavior of components is an important task in the component-based software development process. Component users build mental models to understand a component when they use it for the first time. The models are also useful during the evolution of the component and the application that incorporates it. The process of component understanding employed by the component user influences the kind of models that can be developed. lit this paper we examine several comprehension models used in practice, and analyze existing component understanding approaches with respect to the comprehension models. We illustrate the development of comprehension models with the example of a spreadsheet component used in an application.
{"title":"A model for understanding software components","authors":"A. Andrews, Sudipto Ghosh, Eun-Man Choi","doi":"10.1109/ICSM.2002.1167792","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167792","url":null,"abstract":"Understanding the behavior of components is an important task in the component-based software development process. Component users build mental models to understand a component when they use it for the first time. The models are also useful during the evolution of the component and the application that incorporates it. The process of component understanding employed by the component user influences the kind of models that can be developed. lit this paper we examine several comprehension models used in practice, and analyze existing component understanding approaches with respect to the comprehension models. We illustrate the development of comprehension models with the example of a spreadsheet component used in an application.","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":"122533811","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}