Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167811
E. Truyen, W. Joosen, P. Verbaeten
This paper discusses client-specific customization of systems that implement an on-line Internet service in the presence of simultaneous client-specific views. The problem is that each client must be able to customize the running system for use in its own context, without impacting the service behavior that is delivered to other clients. To solve this, we propose to customize the system on a per client request basis, where the system itself consists of a stable core and several extensions that are injected into the core as needed. However, this approach brings on its own several consistency management problems that must be dealt with in order to make the approach viable. We give an overview of these problems and present a management architecture that deals with these problems.
{"title":"Consistency management in the presence of simultaneous client-specific views","authors":"E. Truyen, W. Joosen, P. Verbaeten","doi":"10.1109/ICSM.2002.1167811","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167811","url":null,"abstract":"This paper discusses client-specific customization of systems that implement an on-line Internet service in the presence of simultaneous client-specific views. The problem is that each client must be able to customize the running system for use in its own context, without impacting the service behavior that is delivered to other clients. To solve this, we propose to customize the system on a per client request basis, where the system itself consists of a stable core and several extensions that are injected into the core as needed. However, this approach brings on its own several consistency management problems that must be dealt with in order to make the approach viable. We give an overview of these problems and present a management architecture that deals with these problems.","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":"132501612","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.1167757
A. Bianchi, D. Caivano, F. Lanubile, Francesco Rago, G. Visaggio
A large software project may be distributed over multiple sites when the organization believes that there are not enough people to staff a single collocated team. However, previous empirical research in the context of telecommunication organizations has shown that distance may increase cycle time and costs. We report on a large software massive maintenance project in the information systems domain, which in part has been carried out on a single site and in part across multiple sites of the same organization. We performed a comparative postmortem analysis of the two parts. Our results show that, with respect to cycle time and cost no significant differences exist among the distributed and collocated work. Indeed there is a significant difference in communication during the project. This implies that for massive maintenance activities the distribution over multiple sites can be really helpful.
{"title":"An empirical study of distributed software maintenance","authors":"A. Bianchi, D. Caivano, F. Lanubile, Francesco Rago, G. Visaggio","doi":"10.1109/ICSM.2002.1167757","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167757","url":null,"abstract":"A large software project may be distributed over multiple sites when the organization believes that there are not enough people to staff a single collocated team. However, previous empirical research in the context of telecommunication organizations has shown that distance may increase cycle time and costs. We report on a large software massive maintenance project in the information systems domain, which in part has been carried out on a single site and in part across multiple sites of the same organization. We performed a comparative postmortem analysis of the two parts. Our results show that, with respect to cycle time and cost no significant differences exist among the distributed and collocated work. Indeed there is a significant difference in communication during the project. This implies that for massive maintenance activities the distribution over multiple sites can be really helpful.","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":"130657900","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.1167747
P. Tonella, A. Potrich
When a software system enters the maintenance phase, the availability of accurate and consistent information about its organization can help alleviate the difficulties of program understanding. Reverse engineering methods aim at extracting such information directly from the code. While several tools support the recovery of the class diagram from object oriented code, so far no work has attacked the problem of statically characterizing the behavior of an object oriented system by means of diagrams which represent the class instances (objects) and their mutual relationships. In this paper a novel static analysis algorithm is proposed for extraction of the object diagram from the code, based on a program representation called the object flow graph. Partial object diagrams can be associated dynamically to the system by executing and tracing the program on a set of test cases. The complementary nature of these two views is discussed, and a novel approach to object oriented testing is derived from such a comparison. The usefulness of the proposed technique is illustrated on a real world, public domain C++ system.
{"title":"Static and dynamic C++ code analysis for the recovery of the object diagram","authors":"P. Tonella, A. Potrich","doi":"10.1109/ICSM.2002.1167747","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167747","url":null,"abstract":"When a software system enters the maintenance phase, the availability of accurate and consistent information about its organization can help alleviate the difficulties of program understanding. Reverse engineering methods aim at extracting such information directly from the code. While several tools support the recovery of the class diagram from object oriented code, so far no work has attacked the problem of statically characterizing the behavior of an object oriented system by means of diagrams which represent the class instances (objects) and their mutual relationships. In this paper a novel static analysis algorithm is proposed for extraction of the object diagram from the code, based on a program representation called the object flow graph. Partial object diagrams can be associated dynamically to the system by executing and tracing the program on a set of test cases. The complementary nature of these two views is discussed, and a novel approach to object oriented testing is derived from such a comparison. The usefulness of the proposed technique is illustrated on a real world, public domain C++ system.","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":"132242824","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.1167748
N. Madhavji
If there is anyone in our community who has been driving with the “high beams” on, right from the start of the journey of software engineering, then in my mind this is, unquestionably, Professor Manny Lehman. While most of us were either in our infancy or fire-fighting software problems, Lehman had his sight set far ahead –on the programming process, as evidenced by a seminal paper published in 1969 [1]. For about thirty-five years now, Lehman has been concerned about, amongst other issues, software’s longterm health, in effect, beyond the next release, while most others – in practice and in research – have had “low beams” on as if the next release is the final release of the software product or system. It needs no further explanation as to why we encounter surprises when we drive in the pitch-dark roads of software engineering. While it mattered little to the society at large in those early years that software systems were not so reliable and were of very limited use, this is not the case today with our society’s already heavy and ever increasing dependence on software. There is no turning back, however, and we must search for ways to create, and evolve, software systems that will provide sustained quality service over long periods in our dynamic environments. Fortunately, many in practice and in research have begun to realise the importance of software evolution and that short-term thinking has an enormous economic and service quality price-tag on it. This panel session isn’t about software evolution in general, although I have no doubts that some discussion might drift that way. It is about Lehman’s laws of software evolution, in the context of the others’ experiences. Lehman has empirically studied the evolution of a number of actual software systems over the years: OS/360-70 and other systems between 1968 [1] and 1985 [2], and more recently in the FEAST (Feedback, Evolution And Software Technology) projects (19962001) [3, 4] (in collaboration with ICL, Logica, MoDDERA, Matra-BAe Dynamics, Lucent Technologies, BT Labs, and with associates, notably Turski, Perry and Ramil [5,6]), he has been able to confirm, refine and extend the earlier results. It is through these relentless efforts, over a long period, that Lehman has formulated and refined eight laws of software evolution (see Table – reproduced from [7]). Slowly, but surely, over the years these laws have gained recognition to varying degrees in pedagogy, industrial circles and in research. It is not my intention to discuss these laws here although I have no doubt that they will be addressed by the panelists, but it is interesting to note that the term law was selected because [7]:
{"title":"Introduction to the panel session Lehman's laws of software evolution, in context","authors":"N. Madhavji","doi":"10.1109/ICSM.2002.1167748","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167748","url":null,"abstract":"If there is anyone in our community who has been driving with the “high beams” on, right from the start of the journey of software engineering, then in my mind this is, unquestionably, Professor Manny Lehman. While most of us were either in our infancy or fire-fighting software problems, Lehman had his sight set far ahead –on the programming process, as evidenced by a seminal paper published in 1969 [1]. For about thirty-five years now, Lehman has been concerned about, amongst other issues, software’s longterm health, in effect, beyond the next release, while most others – in practice and in research – have had “low beams” on as if the next release is the final release of the software product or system. It needs no further explanation as to why we encounter surprises when we drive in the pitch-dark roads of software engineering. While it mattered little to the society at large in those early years that software systems were not so reliable and were of very limited use, this is not the case today with our society’s already heavy and ever increasing dependence on software. There is no turning back, however, and we must search for ways to create, and evolve, software systems that will provide sustained quality service over long periods in our dynamic environments. Fortunately, many in practice and in research have begun to realise the importance of software evolution and that short-term thinking has an enormous economic and service quality price-tag on it. This panel session isn’t about software evolution in general, although I have no doubts that some discussion might drift that way. It is about Lehman’s laws of software evolution, in the context of the others’ experiences. Lehman has empirically studied the evolution of a number of actual software systems over the years: OS/360-70 and other systems between 1968 [1] and 1985 [2], and more recently in the FEAST (Feedback, Evolution And Software Technology) projects (19962001) [3, 4] (in collaboration with ICL, Logica, MoDDERA, Matra-BAe Dynamics, Lucent Technologies, BT Labs, and with associates, notably Turski, Perry and Ramil [5,6]), he has been able to confirm, refine and extend the earlier results. It is through these relentless efforts, over a long period, that Lehman has formulated and refined eight laws of software evolution (see Table – reproduced from [7]). Slowly, but surely, over the years these laws have gained recognition to varying degrees in pedagogy, industrial circles and in research. It is not my intention to discuss these laws here although I have no doubt that they will be addressed by the panelists, but it is interesting to note that the term law was selected because [7]:","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":"116148887","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.1167766
Kanta Jiwnani, M. Zelkowitz
Testing for software security is a lengthy, complex and costly process. Currently, security testing is done using penetration analysis and formal verification of security kernels. These methods are not complete and are difficult to use. Hence it is essential to focus testing effort in areas that have a greater number of security vulnerabilities to develop secure software as well as meet budget and time constraints. We propose a testing strategy based on a classification of vulnerabilities to develop secure and stable systems. This taxonomy will enable a system testing and maintenance group to understand the distribution of security vulnerabilities and prioritize their testing effort according to the impact the vulnerabilities have on the system. This is based on Landwehr's (1994) classification scheme for security flaws and we evaluated it using a database of 1360 operating system vulnerabilities. This analysis indicates vulnerabilities tend to be focused in relatively few areas and associated with a small number of software engineering issues.
{"title":"Maintaining software with a security perspective","authors":"Kanta Jiwnani, M. Zelkowitz","doi":"10.1109/ICSM.2002.1167766","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167766","url":null,"abstract":"Testing for software security is a lengthy, complex and costly process. Currently, security testing is done using penetration analysis and formal verification of security kernels. These methods are not complete and are difficult to use. Hence it is essential to focus testing effort in areas that have a greater number of security vulnerabilities to develop secure software as well as meet budget and time constraints. We propose a testing strategy based on a classification of vulnerabilities to develop secure and stable systems. This taxonomy will enable a system testing and maintenance group to understand the distribution of security vulnerabilities and prioritize their testing effort according to the impact the vulnerabilities have on the system. This is based on Landwehr's (1994) classification scheme for security flaws and we evaluated it using a database of 1360 operating system vulnerabilities. This analysis indicates vulnerabilities tend to be focused in relatively few areas and associated with a small number of software engineering issues.","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":"123964491","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.1167794
Zhenqiang Chen, Yuming Zhou, Baowen Xu, Jianjun Zhao, Hongji Yang
Classes are the basic modules in object-oriented (OO) software, which consist of attributes and methods. Thus, in an OO environment, cohesion mainly concerns how tight the attributes and methods of classes are. This paper discusses the relationships between attributes and attributes, attributes and methods, and methods and methods of a class based on dependence analysis. Then we discuss the properties of these relationships. According to these properties, this paper proposes a novel approach to measuring class cohesion. Our approach overcomes the limitations of previous class cohesion measures, which consider only one or two of the three relationships in a class. We also prove that this measure satisfies the properties that a good measurement should have.
{"title":"A novel approach to measuring class cohesion based on dependence analysis","authors":"Zhenqiang Chen, Yuming Zhou, Baowen Xu, Jianjun Zhao, Hongji Yang","doi":"10.1109/ICSM.2002.1167794","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167794","url":null,"abstract":"Classes are the basic modules in object-oriented (OO) software, which consist of attributes and methods. Thus, in an OO environment, cohesion mainly concerns how tight the attributes and methods of classes are. This paper discusses the relationships between attributes and attributes, attributes and methods, and methods and methods of a class based on dependence analysis. Then we discuss the properties of these relationships. According to these properties, this paper proposes a novel approach to measuring class cohesion. Our approach overcomes the limitations of previous class cohesion measures, which consider only one or two of the three relationships in a class. We also prove that this measure satisfies the properties that a good measurement should have.","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":"124453520","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.1167765
T. Rötschke, R. Krikhaar
This paper describes an architecture analysis tool-set supporting evolutionary improvement of the software architecture of an existing medical imaging system. The toolset has been developed with co-operation between Philips Research and Philips Medical Systems. The medical imaging system is a large and software intensive system. Improvements to its architecture will lead to many development and business benefits, provided the improvements can be made efficiently and without major disruptions. The major challenge in supporting these improvements was finding a technical solution that fits well with the organization and processes of the development department. We came up with an approach that enables the migration to be performed in small increments and in line with existing processes and procedures established to meet requirements for patient safety and other qualities. Our tools provide relevant information about the current status and recent trends in software architecture, allowing software architects and engineers to monitor the progress of the migration and to identify potential problems as early as possible.
{"title":"Architecture analysis tools to support evolution of large industrial systems","authors":"T. Rötschke, R. Krikhaar","doi":"10.1109/ICSM.2002.1167765","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167765","url":null,"abstract":"This paper describes an architecture analysis tool-set supporting evolutionary improvement of the software architecture of an existing medical imaging system. The toolset has been developed with co-operation between Philips Research and Philips Medical Systems. The medical imaging system is a large and software intensive system. Improvements to its architecture will lead to many development and business benefits, provided the improvements can be made efficiently and without major disruptions. The major challenge in supporting these improvements was finding a technical solution that fits well with the organization and processes of the development department. We came up with an approach that enables the migration to be performed in small increments and in line with existing processes and procedures established to meet requirements for patient safety and other qualities. Our tools provide relevant information about the current status and recent trends in software architecture, allowing software architects and engineers to monitor the progress of the migration and to identify potential problems as early as possible.","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":"116333588","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.1167754
B. S. Rao, N. L. Sarda
We establish the context of maintenance outsourcing of mission critical applications by Fortune 500 organizations. We present the results of empirical studies that were conducted at Syntel, a NASDAQ listed application management and e-business solutions company, on 46 software maintenance projects that belonged to various lines of business on the IBM mainframe platform using an automated data collection tool EQUIP. After establishing that corrective maintenance activities form a significant component of the overall maintenance efforts, we examine the applicability of the IEEE standard maintenance process for corrective maintenance by measuring the efforts spent on the various activities. We conclude that (a) the processes for each type of maintenance need to be fine tuned especially in the context of outsourcing (b) analysis, testing form significant part of the corrective maintenance effort (c) teams need to carry out other activities such as database reorganization and configuration management that are not defined by the IEEE maintenance process.
{"title":"Applicability of IEEE maintenance process for corrective maintenance outsourcing-an empirical study","authors":"B. S. Rao, N. L. Sarda","doi":"10.1109/ICSM.2002.1167754","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167754","url":null,"abstract":"We establish the context of maintenance outsourcing of mission critical applications by Fortune 500 organizations. We present the results of empirical studies that were conducted at Syntel, a NASDAQ listed application management and e-business solutions company, on 46 software maintenance projects that belonged to various lines of business on the IBM mainframe platform using an automated data collection tool EQUIP. After establishing that corrective maintenance activities form a significant component of the overall maintenance efforts, we examine the applicability of the IEEE standard maintenance process for corrective maintenance by measuring the efforts spent on the various activities. We conclude that (a) the processes for each type of maintenance need to be fine tuned especially in the context of outsourcing (b) analysis, testing form significant part of the corrective maintenance effort (c) teams need to carry out other activities such as database reorganization and configuration management that are not defined by the IEEE maintenance process.","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":"116419206","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.1167824
L. Tahvildari, K. Kontogiannis
In re-engineering object-oriented legacy code, it is frequently useful to introduce a design pattern in order to improve specific nonfunctional requirements (e.g., maintainability enhancement). This paper presents a methodology for the development of a quality-driven re-engineering framework for object-oriented systems. First, a catalogue of design motifs (primitive design pattern transformations) is presented Then, the transformations for the design patterns in the GoF book are defined as a composition of these primitive transformations. Nonfunctional requirements for the migrant system can be encoded using soft-goal interdependency graphs and can be associated with design pattern transformations that are applied for the migration of an object-oriented legacy system.
{"title":"A software transformation framework for quality-driven object-oriented re-engineering","authors":"L. Tahvildari, K. Kontogiannis","doi":"10.1109/ICSM.2002.1167824","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167824","url":null,"abstract":"In re-engineering object-oriented legacy code, it is frequently useful to introduce a design pattern in order to improve specific nonfunctional requirements (e.g., maintainability enhancement). This paper presents a methodology for the development of a quality-driven re-engineering framework for object-oriented systems. First, a catalogue of design motifs (primitive design pattern transformations) is presented Then, the transformations for the design patterns in the GoF book are defined as a composition of these primitive transformations. Nonfunctional requirements for the migrant system can be encoded using soft-goal interdependency graphs and can be associated with design pattern transformations that are applied for the migration of an object-oriented legacy system.","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":"131560809","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.1167825
Umer Waqar, F. Khendek, D. Vincent
Software systems evolve because user requirements change over time. Maintaining software systems is a challenge, especially when the old behavior has to be preserved while new functionality is added. In this paper, we extend the transformational model to the maintenance phase and call it extended transformational model. Using this extended transformational model, we develop an approach to maintain SDL (Specification and Description Language) specifications. This approach consists of enriching, in three phases, SDL specifications with new behaviors specified with another formal language, MSC (Message Sequence Charts). The approach is based on a formally defined enrichment relation that must hold between the old and the new SDL specifications.
{"title":"A formal approach for software maintenance","authors":"Umer Waqar, F. Khendek, D. Vincent","doi":"10.1109/ICSM.2002.1167825","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167825","url":null,"abstract":"Software systems evolve because user requirements change over time. Maintaining software systems is a challenge, especially when the old behavior has to be preserved while new functionality is added. In this paper, we extend the transformational model to the maintenance phase and call it extended transformational model. Using this extended transformational model, we develop an approach to maintain SDL (Specification and Description Language) specifications. This approach consists of enriching, in three phases, SDL specifications with new behaviors specified with another formal language, MSC (Message Sequence Charts). The approach is based on a formally defined enrichment relation that must hold between the old and the new SDL specifications.","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":"128902254","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}