Pub Date : 2003-09-22DOI: 10.1109/ICSM.2003.1235458
Deborah Torrekens
Summary form only given. The article presents RainCodeOnline (http://www.raincode.com/online), Belgium-based initiative to provide COBOL restructuring services through the Web. The article details a number of issues: the underlying technology; the process; the pros and cons of automated restructuring (dialects, process, perception, pricing, security, cost, performance, quality, etc.); and the perception of quality and how it can be further improved. A number of results are presented as well.
{"title":"An industrialized restructuring service for legacy systems","authors":"Deborah Torrekens","doi":"10.1109/ICSM.2003.1235458","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235458","url":null,"abstract":"Summary form only given. The article presents RainCodeOnline (http://www.raincode.com/online), Belgium-based initiative to provide COBOL restructuring services through the Web. The article details a number of issues: the underlying technology; the process; the pros and cons of automated restructuring (dialects, process, perception, pricing, security, cost, performance, quality, etc.); and the perception of quality and how it can be further improved. A number of results are presented as well.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125785933","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235448
A. Deursen, T. Kuipers
The paper reports on a method for software risk assessments that take into account "primary facts" and "secondary facts". Primary facts are those obtained through automatically analyzing the source code of a system, and secondary facts are those facts obtained from people working with or on the system, and available documentation. We describe how both types of facts are retrieved, and how we are bridging the interpretation gap from the raw facts (either primary or secondary) to a concise risk assessment, which includes recommendations to minimize the risk. This method has been developed while performing numerous risk assessments, and is continuously being fine-tuned.
{"title":"Source-based software risk assessment","authors":"A. Deursen, T. Kuipers","doi":"10.1109/ICSM.2003.1235448","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235448","url":null,"abstract":"The paper reports on a method for software risk assessments that take into account \"primary facts\" and \"secondary facts\". Primary facts are those obtained through automatically analyzing the source code of a system, and secondary facts are those facts obtained from people working with or on the system, and available documentation. We describe how both types of facts are retrieved, and how we are bridging the interpretation gap from the raw facts (either primary or secondary) to a concise risk assessment, which includes recommendations to minimize the risk. This method has been developed while performing numerous risk assessments, and is continuously being fine-tuned.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129011493","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235430
L. Moonen
Software evolution is required to keep a software system in sync with the ever-changing needs of the system's users and environment. An unfortunate side-effect of evolution is that it often causes the knowledge about a system to degrade, which in turn impedes further evolution. In the dissertation, we investigate techniques and tools that help remedy this situation by supporting the exploration of a software system and improving its legibility (Moonen, 2002). We examine the analogy with urban exploration and present innovative techniques for the extraction, abstraction, and presentation of information needed for understanding software.
{"title":"Exploring software systems","authors":"L. Moonen","doi":"10.1109/ICSM.2003.1235430","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235430","url":null,"abstract":"Software evolution is required to keep a software system in sync with the ever-changing needs of the system's users and environment. An unfortunate side-effect of evolution is that it often causes the knowledge about a system to degrade, which in turn impedes further evolution. In the dissertation, we investigate techniques and tools that help remedy this situation by supporting the exploration of a software system and improving its legibility (Moonen, 2002). We examine the analogy with urban exploration and present innovative techniques for the extraction, abstraction, and presentation of information needed for understanding software.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"438 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123148933","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235414
Miles Barr, S. Eisenbach
The distributed development and maintenance paradigm for component delivery is fraught with problems. One wants a relationship between developers and clients that is autonomous and anonymous. Yet components written in languages such as C++ require the recompilation of all dependent subsystems when a new version of a component is released. The design of Java's binary format has side-stepped this constraint, removing the need for total recompilation with each change. But the potential is not fulfilled if programs have to be stopped to swap in each new component. This paper describes a framework that allows Java programs to be dynamically upgraded. Its key purpose is to allow libraries that are safe to replace existing libraries without adversely affecting running programs. The framework provides developers with a mechanism to release their libraries and provides clients with the surety of only upgrading when it is safe to do so.
{"title":"Safe upgrading without restarting","authors":"Miles Barr, S. Eisenbach","doi":"10.1109/ICSM.2003.1235414","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235414","url":null,"abstract":"The distributed development and maintenance paradigm for component delivery is fraught with problems. One wants a relationship between developers and clients that is autonomous and anonymous. Yet components written in languages such as C++ require the recompilation of all dependent subsystems when a new version of a component is released. The design of Java's binary format has side-stepped this constraint, removing the need for total recompilation with each change. But the potential is not fulfilled if programs have to be stopped to swap in each new component. This paper describes a framework that allows Java programs to be dynamically upgraded. Its key purpose is to allow libraries that are safe to replace existing libraries without adversely affecting running programs. The framework provides developers with a mechanism to release their libraries and provides clients with the surety of only upgrading when it is safe to do so.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121261848","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235408
N. Madhavji, J. Tassé
Ensuring that software systems evolve in a desired manner has thus far been an elusive goal. In a continuing effort towards this objective, in this paper we propose a new approach that monitors an evolving software system, or its evolution process, against evolutionary policies so that any feedback obtained can be used to improve the system or its process. Two key concepts that make this possible are: (1) a mechanism to detect policy violations; and (2) a contextual framework to support activities of evolving a software system beyond the next release. Together, they could provide a wide and deep scope for managing software evolution. The benefit of our approach is that it would help in: sustaining the quality of a software system as it evolves; reducing evolutionary costs; and improving evolutionary processes.
{"title":"Policy-guided software evolution","authors":"N. Madhavji, J. Tassé","doi":"10.1109/ICSM.2003.1235408","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235408","url":null,"abstract":"Ensuring that software systems evolve in a desired manner has thus far been an elusive goal. In a continuing effort towards this objective, in this paper we propose a new approach that monitors an evolving software system, or its evolution process, against evolutionary policies so that any feedback obtained can be used to improve the system or its process. Two key concepts that make this possible are: (1) a mechanism to detect policy violations; and (2) a contextual framework to support activities of evolving a software system beyond the next release. Together, they could provide a wide and deep scope for managing software evolution. The benefit of our approach is that it would help in: sustaining the quality of a software system as it evolves; reducing evolutionary costs; and improving evolutionary processes.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127209422","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235404
B. Korel, Inderdeep Singh, L. Tahat, Boris Vaysburg
System modeling is a widely used technique to model state-based systems. Several state-based languages are used to model such systems, e.g., EFSM (extended finite state machine), SDL (specification description language) and state charts. Although state-based modeling is very useful, system models are frequently large and complex and are hard to understand and modify. Slicing is a well-known reduction technique. Most of the research on slicing is code-based. There has been limited research on specification-based slicing and model-based slicing. In this paper, we present an approach to slicing state-based models, in particular EFSM models. Our approach automatically identifies the parts of the model that affect an element of interest using EFSM dependence analysis. Slice reduction techniques are then used to reduce the size of the EFSM slice. Our experience with the presented slicing approach showed that significant reduction of state-based models could be achieved.
{"title":"Slicing of state-based models","authors":"B. Korel, Inderdeep Singh, L. Tahat, Boris Vaysburg","doi":"10.1109/ICSM.2003.1235404","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235404","url":null,"abstract":"System modeling is a widely used technique to model state-based systems. Several state-based languages are used to model such systems, e.g., EFSM (extended finite state machine), SDL (specification description language) and state charts. Although state-based modeling is very useful, system models are frequently large and complex and are hard to understand and modify. Slicing is a well-known reduction technique. Most of the research on slicing is code-based. There has been limited research on specification-based slicing and model-based slicing. In this paper, we present an approach to slicing state-based models, in particular EFSM models. Our approach automatically identifies the parts of the model that affect an element of interest using EFSM dependence analysis. Slice reduction techniques are then used to reduce the size of the EFSM slice. Our experience with the presented slicing approach showed that significant reduction of state-based models could be achieved.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131751509","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 : 2003-09-22DOI: 10.1109/ICSM.2003.1235450
L. White, Husain Almezen, Shivakumar Sastry
Testing graphical user interfaces (GUI) is difficult, involving many states, inputs and events. Another serious problem is that in testing GUI, not all effects created by the testing are observable. We have previously reported a scalable method for testing GUIs based on complete interactions sequences (CIS). A CIS is a sequence of GUI objects and selections that collaborate to produce a response for the user called the responsibility. In this paper we use the CIS foundation to develop a new firewall method for GUI regression testing. This new method is an inherently selective regression approach in which only GUI objects in the firewall need be regression tested. An empirical study of a commercial GUI system is used to illustrate this new method.
{"title":"Firewall regression testing of GUI sequences and their interactions","authors":"L. White, Husain Almezen, Shivakumar Sastry","doi":"10.1109/ICSM.2003.1235450","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235450","url":null,"abstract":"Testing graphical user interfaces (GUI) is difficult, involving many states, inputs and events. Another serious problem is that in testing GUI, not all effects created by the testing are observable. We have previously reported a scalable method for testing GUIs based on complete interactions sequences (CIS). A CIS is a sequence of GUI objects and selections that collaborate to produce a response for the user called the responsibility. In this paper we use the CIS foundation to develop a new firewall method for GUI regression testing. This new method is an inherently selective regression approach in which only GUI objects in the firewall need be regression tested. An empirical study of a commercial GUI system is used to illustrate this new method.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127109027","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 : 1900-01-01DOI: 10.1109/ICSM.2003.1235459
J.J. van Beele
Summary form only given, as follows. According to a criticaster Wehkamp owns "fossil COBOL in rock". In 1995 Wehkamp decided to get rid of her mainframe. Her strategy was to stop development on her GCOS8 platform. The idea was that the mainframe would dry and eventually could be carried to her grave. Unfortunately this strategy did not work. In fact complexity has grown beyond control. In the first part of the paper, we give a detailed account of our experiences, our analysis and outline our new strategy: we will now first take out the data. Since 2000 Wehkamp has an architecture department. But what is she supposed to do? We found out that it doesn't work to proclaim the truth. In the second part of the paper we give an account of our ongoing quest for our place in the organization: at the moment we live by the IEEE 1471 model among others.
{"title":"Some wells never dry [software maintenance]","authors":"J.J. van Beele","doi":"10.1109/ICSM.2003.1235459","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235459","url":null,"abstract":"Summary form only given, as follows. According to a criticaster Wehkamp owns \"fossil COBOL in rock\". In 1995 Wehkamp decided to get rid of her mainframe. Her strategy was to stop development on her GCOS8 platform. The idea was that the mainframe would dry and eventually could be carried to her grave. Unfortunately this strategy did not work. In fact complexity has grown beyond control. In the first part of the paper, we give a detailed account of our experiences, our analysis and outline our new strategy: we will now first take out the data. Since 2000 Wehkamp has an architecture department. But what is she supposed to do? We found out that it doesn't work to proclaim the truth. In the second part of the paper we give an account of our ongoing quest for our place in the organization: at the moment we live by the IEEE 1471 model among others.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125143654","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 : 1900-01-01DOI: 10.1109/icsm.2003.1235399
H. Gall
The following topics are dealt with: software maintenance; versioning; software evolution; program slicing; reverse engineering; maintenance organization; execution architecture; impact analysis; system analysis; regression testing; software architecture; and software processes.