2005Unpublished venueRequires access

Influence of type systems on dynamic software evolution

Peter Ebraert, Yves Vandewoude, Yolande Berbers

Open publisher page 5 citations

Abstract

In this paper we analyze and categorize the most important typing aspects a programming language should offer in order to adequately support dynamic software evolution. The main contribution is a table that summarizes our findings and clearly shows that a more flexible type system implies more power to carry out runtime changes but at a cost of reduced safety. 1 Problem statement Software evolution is an enormous problem that makes up for more than 80 % of the cost of a software system ([3]). Despite many modern design technologies, evolving software in order to add new features, fix a bug or even port it to a new platform is an extremely cumbersome process. The attempt to evolve a running system without shutting it down, is even harder, since there are considerably more constraints on a running system. The goal of our research is to establish the specification of programming languages that are well suited for dynamic software evolution. This specification can then be used (1) by software engineers to choose an appropriate language for developing software, and (2) by language engineers, to develop a new programming language towards dynamic software evolution. We chose to focus on the type system of the language as its distinguishing feature. 2 Type systems This paper uses the type system of a programming language as its distinguishing feature. A type system itself, ∗ Authors funded by a doctoral scholarship of the “Institute for the Promotion

About this research paper

What this paper is about

In this paper we analyze and categorize the most important typing aspects a programming language should offer in order to adequately support dynamic software evolution. The main contribution is a table that summarizes our findings and clearly shows that a more flexible type system implies more power to carry out runtime changes but at a cost of reduced safety. 1 Problem statement Software evolution is an enormous problem that makes up for more than 80 % of the cost of a software system ([3]). Despite many modern design technologies, evolving software in order to add new features, fix a bug or even port it to a new platform is an extremely cumbersome process. The attempt to evolve a running system without shutting it down, is even harder, since there are considerably more constraints on a running system. The goal of our research is to establish the specification of programming languages that are well suited for dynamic software evolution. This specification can then be used (1) by software engineers to choose an appropriate language for developing software, and (2) by language engineers, to develop a new programming language towards dynamic software evolution. We chose to focus on the type system of the language as its distinguishing feature. 2 Type systems This paper uses the type system of a programming language as its distinguishing feature. A type system itself, ∗ Authors funded by a doctoral scholarship of the “Institute for the Promotion

Why it matters

OpenAlex reports 5 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

In this paper we analyze and categorize the most important typing aspects a programming language should offer in order to adequately support dynamic software evolution. The main contribution is a table that summarizes our findings and clearly shows that a more flexible type system implies more power to carry out runtime changes but at a cost of reduced safety. 1 Problem statement Software evolution is an enormous problem that makes up for more than 80 % of the cost of a software system ([3]). Despite many modern design technologies, evolving software in order to add new features, fix a bug or even port it to a new platform is an extremely cumbersome process. The attempt to evolve a running system without shutting it down, is even harder, since there are considerably more constraints on a running system. The goal of our research is to establish the specification of programming languages that are well suited for dynamic software evolution. This specification can then be used (1) by software engineers to choose an appropriate language for developing software, and (2) by language engineers, to develop a new programming language towards dynamic software evolution. We chose to focus on the type system of the language as its distinguishing feature. 2 Type systems This paper uses the type system of a programming language as its distinguishing feature. A type system itself, ∗ Authors funded by a doctoral scholarship of the “Institute for the Promotion

Key concepts: Computer science, Programming language, Software evolution, Software, Adaptation (eye), Table (database), Software engineering, Software development

Related papers

Back to paper searchBrowse research topicsOriginal source
Influence of type systems on dynamic software evolution — Research Paper | ScholarLens