Predicting Class Testability Using Object-Oriented Metrics (2004)
Magiel Bruntink, Arie Van Deursen
In this paper we investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability...
An Evaluation of Clone Detection Techniques for Identifying Crosscutting Concerns (2004)
Magiel Bruntink, Arie Van Deursen, Tom Tourwe, Remco Van Engelen
Code implementing a crosscutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves both the maintainability and the...
Experiences in Teaching Software Evolution (2004)
Arie Van Deursen, Jean-marie Favre, Rainer Koschke, Juergen Rilling
A large amount of research is devoted to software evolution and program understanding, but these topics are often neglected in software engineering curricula. The CCSE initiative from IEEE/ACM...
An Evaluation of Clone Detection Techniques for Identifying Cross-Cutting Concerns (2004)
Magiel Bruntink, Arie Van Deursen, Remco Van Engelen, Tom Tourwe
Code implementing a cross-cutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves both the maintainability and the...
Refactoring: Emerging Trends and Open Problems (2003)
This position paper identifies emerging trends in refactoring research, and enumerates a list of open questions, from a practical as well as a theoretical point of view. We suggest these directions...
Aspect Mining and Refactoring (2003)
Arie Van Deursen, Marius Marin, Leon Moonen
In this paper we argue for the need for research in the area of aspect mining, covering concepts, principles, methods and tools supporting the identification of aspects in objectoriented software...
Experiences in Teaching Software Evolution (2003)
Arie Van Deursen, Jean-marie Favre, Rainer Koschke, Juergen Rilling
A large amount of research is devoted to software evolution and program understanding, but these topics are often neglected in software engineering curricula. The CCSE initiative from IEEE/ACM...
Experiences in Teaching Software Evolution and Program Comprehension (2003)
Arie Van Deursen, Jean-marie Favre, Rainer Koschke, Juergen Rilling
A large amount of research is devoted to software evolution and program understanding, but these topics are often neglected in software engineering curricula. The CCSE initiative from IEEE/ACM...
Feature-Based Product Line Instantiation using Source-Level Packages (2002)
Arie Van Deursen, Merijn De Jonge, Tobias Kuipers
In this paper we discuss the construction of software products from customer-specific feature selections. We address variability management with the Feature Description Language (FDL) to capture...
Centrum voor Wiskunde en Informatica (2002)
A. Van Deursen, Arie Van Deursen
We investigate the relationship between reverse engineering and program comprehension on the one hand, and software process on the other. To understand this relationship, we select one particular...
Building Program Understanding Tools Using Visitor Combinators (2002)
Arie Van Deursen, Joost Visser
Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to...
Centrum voor Wiskunde en Informatica (2002)
A. Van Deursen, G. Kok, Arie Van Deursen, Leon Moonen, ...
Two key aspects of extreme programming (XP) are unit testing and merciless refactoring. Given the fact that the ideal test code / production code ratio approaches 1:1, it is not surprising that unit...
Building Program Understanding Tools Using Visitor Combinators (2002)
Arie Van Deursen, Joost Visser
Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to...
The Video Store Revisited - Thoughts on Refactoring and Testing (2002)
Testing and refactoring are core activities in extreme programming (XP). In principle, they are separate activities where the tests are used to verify that refactorings do not change behavior of the...
ASD: The Action Semantic Description Tools (2002)
Arie Van Deursen, Peter D. Mosses
covering the ASD abstract syntax notation; and (2) an ASF-SDF module called CONCRETE containing the concrete notation, as well as a function (signature and defining equations) mapping the CON- CRETE...
Arie Van Deursen, Eelco Visser
The reverse and reengineering research communities have a strong tradition of collecting, organizing, and unifying research results. Typical examples include an explicit taxonomy, dedicated web...
Feature-Based Product Line Instantiation using Source-Level Packages (2002)
Arie Van Deursen, Merijn De Jonge, Tobias Kuipers
In this paper we discuss the construction of software products from customer-specific feature selections. We address variability management with the Feature Description Language (FDL) to capture...
Understanding Legacy Architectures (2001)
This paper looks at architecture from the perspective of legacy systems. Legacy systems generally do not have a documented architecture, which complicates dealing with many of the problems pertaining...
Software Architecture Recovery and Modelling (2001)
This paper covers current trends and issues in software architecture recovery. It consists of a summary of the presentations and discussions of the Software Architecture Recovery and Modelling...
this paper, we have recognized the following aspects of rationale reconstruction: # Existing documentation, comments, and log messages could provide rationale pointers: System browsers aiming at...
Little Maintenance, Arie Van Deursen, Paul Klint
So-called little,ordomain-specific languages (DSLs), have the potential to make software maintenance simpler: domain-experts can directly use the DSL to make required routine modifications. On the...
Customer Involvement Experiences in a Software Product Line (2001)
ur experience, the most problematic practice is the on site customer: this paper lists some of the challenges we encountered. Challenges We were eager to involve the customer into our development: we...
Validating Year 2000 Compliance (2001)
A. Van Deursen, P. Klint, A. Sellink, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, ...
Validating year 2000 compliance involves the assessment of the correctness and quality of a year 2000 conversion. This entails inspecting both the quality of the conversion process followed, and of...
Research Issues in the Renovation of Legacy Systems (2001)
Arie Van Deursen, Paul Klint, Chris Verhoef
. The goals of this tutorial are to: (i) give the reader a quick introduction
From Legacy to Component: Software Renovation in Three Steps (2001)
Arie Van Deursen, Ben Elsinga, Paul Klint, Ron Tolido
The major challenge for future business operations is to align changing business
Program Comprehension Risks and Opportunities in Extreme Programming (2001)
A. Van Deursen, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen
We investigate the relationship between reverse engineering and program comprehension on the one hand, and software process on the other. To understand this relationship, we select one particular...
Finding Classes in Legacy Code Using Cluster Analysis (2001)
Arie Van Deursen, Tobias Kuipers
Introduction Old software systems are still in use because they implement useful business tasks. Unfortunately, they are difficult to adapt. They have been subject to maintenance repeatedly, have...
Program Plan Recognition For Year 2000 Tools (2001)
Arie Van Deursen, Steve Woods, Alex Quilici
There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, make any documented use of plan-based techniques for automated concept recovery....
Results of the Project: Domain Specific Languages (2001)
This note summarizes the results of the Domain Specific Languages project of the Telematics Institute (TI). It is intended for the review after two years (early 2001). 1 Introduction A Domain...
Understanding Legacy Architectures (2000)
This chapter looks at architecture from the perspective of legacy systems. Legacy systems generally do not have a documented architecture, which complicates dealing with many of the problems...
From Research to Start Up: Software Engineering Technology Transfer at Work (2000)
This paper describes our experiences in the successful transfer of software engineering technology (in the area of reverse engineering and legacy systems) from research laboratory up to start-up...
A. Van Deursen, T. Kuipers, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, ...
We explore the differences between developing a system using extreme programming techniques, and maintaining a legacy system. We investigate whether applying extreme programming techniques to legacy...
Research Issues in the Renovation of Legacy Systems (2000)
Arie Van Deursen, Paul Klint, Chris Verhoef
. The goals of this tutorial are to: (i) give the reader a quick introduction to the field of software renovation as a whole; (ii) show that many techniques from compiler technology and formal...
Program Plan Recognition For Year 2000 Tools (1999)
Arie Van Deursen, Alex Quilici, Steve Woods
There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, addresses the closely-related leap-year problem. In this paper, we provide...
Program Plan Recognition For Year 2000 Tools (1999)
Arie Van Deursen, Alex Quilici, Steve Woods
There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, addresses the closely-related leap-year problem. In this paper, we provide...
Building Documentation Generators (1999)
A. Van Deursen, T. Kuipers, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, Tobias Kuipers
In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in...
Understanding COBOL Systems using Inferred Types (1999)
A. Van Deursen, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, Leon Moonen
In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein,...
Understanding COBOL Systems using Inferred Types (1999)
In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein,...
Understanding COBOL Systems using Inferred Types (1999)
In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein,...
Understanding COBOL Systems using Inferred Types (1999)
In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein,...
Identifying Objects using Cluster and Concept Analysis (1999)
Arie Van Deursen, Tobias Kuipers
Many approaches to support (semi-automatic) identification of objects in legacy code take the data structures as starting point for candidate classes. Unfortunately, legacy data structures tend to...
Research Issues in the Renovation of Legacy Systems (1999)
Arie Van Deursen, Paul Klint, Chris Verhoef
. The goals of this tutorial are to: (i) give the reader a quick introduction to the field of software renovation as a whole; (ii) show that many techniques from compiler technology and formal...
Identifying Objects using Cluster and Concept Analysis (1999)
Arie Van Deursen, Tobias Kuipers
Many approaches to support (semi-automatic) identification of objects in legacy code take the data structures as starting point for candidate classes. Unfortunately, legacy data structures tend to...
Type Inference for COBOL Systems (1998)
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adequate type system...
Identifying Objects using Cluster and Concept Analysis (1998)
A. Van Deursen, T. Kuipers, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, Tobias Kuipers
Many approaches to support (semi-automatic) identification of objects in legacy code take the data structures as starting point for candidate classes. Unfortunately, legacy data structures tend to...
Type Inference for COBOL Systems (1998)
A. Van Deursen, L. Moonen, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, Leon Moonen
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adequate type system...
Type Inference for COBOL Systems (1998)
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adequate type system...
Type Inference for COBOL Systems (1998)
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adequate type system...
A Comparison of Software Refinery and ASF+SDF (1998)
This document reflects the situation at the time of writing, which is November 1996. Both ASF+SDF and Refine may have undergone significant changes since then. The document is provided "as is", and...
A. Van Deursen, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen
A significant number of programs incorrectly treats the year 2000 as a non-leap year. We list 21 real life code fragments illustrating the large variety of ways that are used to determine whether a...
A significant number of programs incorrectly treats the year 2000 as a non-leap year. We list 21 real life code fragments illustrating the large variety of ways that are used to determine whether a...
A significant number of programs incorrectly treats the year 2000 as a non-leap year. We list 21 real life code fragments illustrating the large variety of ways that are used to determine whether a...
Rapid System Understanding: Two COBOL Case Studies (1998)
A. Van Deursen, T. Kuipers, Copyright Stichting, Mathematisch Centrum, Arie Van Deursen, Tobias Kuipers
Rapid system understanding is required in the planning, feasibility assessment and cost estimating phases of a system renovation project. In this paper, we apply a number of analyses on two large...
Rapid System Understanding: Two COBOL Case Studies (1998)
Arie Van Deursen, Tobias Kuipers
Rapid system understanding is required in the planning, feasibility assessment and cost estimating phases of a system renovation project. In this paper, we apply a number of analyses on two large...
Rapid System Understanding: Two COBOL Case Studies (1998)
Arie Van Deursen, Tobias Kuipers
Rapid system understanding is required in the planning, feasibility assessment and cost estimating phases of a system renovation project. In this paper, we apply a number of analyses on two large...
Finding Classes in Legacy Code Using Cluster Analysis (1997)
Arie Van Deursen, Tobias Kuipers
this paper, we concentrate on the third step, for which we propose the use of cluster analysis, a general technique for finding groups in data [4]. In this paper we will show that cluster analysis...
Validating Year 2000 Compliance (1997)
A. Van Deursen, P. Klint, A. Sellink, Arie Van Deursen, Paul Klint, Alex Sellink
Validating year 2000 compliance involves the assessment of the correctness and quality of a year 2000 conversion. This entails inspecting both the quality of the conversion process followed, and of...
Program Plan Recognition For Year 2000 Tools (1997)
A. Van Deursen, S. Woods, A. Quilici, Arie Van Deursen, Steve Woods, Alex Quilici
There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, make any documented use of plan-based techniques for automated concept recovery....
Program Plan Recognition For Year 2000 Tools (1997)
Arie Van Deursen, Steve Woods, Alex Quilici
There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, make any documented use of plan-based techniques for automated concept recovery....
A Simple pi-Calculus Manipulation Tool (1997)
. The ß-calculus is a challenge for tool generation software, as it is subject to frequent changes. A specification of desirable functionality of tools for manipulating ß-calculus expressions is...
-Calculus Manipulation Tool (1997)
. The -calculus is a challenge for tool generation software, as it is subject to frequent changes. A specification of desirable functionality of tools for manipulating -calculus expressions is given,...
Little Languages: Little Maintenance? (1996)
So-called little, or domain-specific languages (DSLs), have the potential to make software maintenance simpler: domain-experts can directly use the DSL to make required routine modifications. At the...
Axiomatizing Early and Late Input by Variable Elimination (1996)
Variable binding input actions in process algebra expressions can be characterized by early as well as by late bisimulation, where the distinction is concerned with whether or not variables are...
Axiomatizing Early and Late Input by Variable Elimination (1996)
Variable binding input actions in process algebra expressions can be characterized by early as well as by late bisimulation, where the distinction is concerned with whether or not variables are...
Axiomatizing Early and Late Input by Variable Elimination (1996)
Arie Van Deursen, Tu Eindhoven
Variable binding input actions in process algebra expressions can be characterized by early as well as by late bisimulation, where the distinction is concerned with whether or not variables are...
ASD: The Action Semantic Description Tools (1996)
Arie Van Deursen, Peter D. Mosses
covering the ASD abstract syntax notation; and (2) an Asf+Sdf module called CONCRETE containing the concrete notation, as well as a function (signature and defining equations) mapping the CONCRETE...
Axiomatizing Early and Late Input by Variable Elimination (1996)
Variable binding input actions in process algebra expressions can be characterized by early as well as by late bisimulation, where the distinction is concerned with whether or not variables are...
Axiomatizing Early and Late Input by Variable Elimination (1996)
Variable binding input actions in process algebra expressions can be characterized by early as well as by late bisimulation, where the distinction is concerned with whether or not variables are...
Origin Tracking for Higher-Order Term Rewriting Systems (1994)
A. Van Deursen, Arie Van Deursen, T. B. Dinesh
Origin Tracking is a technique which, in the framework of first-order term rewriting systems, establishes relations between each subterm t of a normal form and a set of subterms, the origins of t, in...
Centrum voor Wiskunde en Informatica (1994)
A. Van Deursen, Arie Van Deursen
Algebraic specifications of programming languages can be used to generate language-specific programming support tools. Some of these can be obtained in a straightforward way by executing language...
Specification and Generation of a Lambda-Calculus Environment (1994)
A. Van Deursen, Arie Van Deursen
An algebraic specification of the -calculus is described. The specification covers valid substitutions, ff, fi, and j conversions, left-most reductions, and let-constructs for - definitions. The...
Introducing ASF+SDF Using the $lambda$-calculus as Example (1994)
This document aims at providing a gentle introduction to the use of ASF+SDF . Asf+Sdf
Introducing ASF+SDF Using the (1994)
This document aims at providing a gentle introduction to the use of ASF+SDF . Asf+Sdf is an algebraic specification formalism that can be used to specify properties of languages or data types. Using...
Origin Tracking in Primitive Recursive Schemes (1993)
Algebraic specifications of programming languages can be used to generate languagespecific programming support tools. Some of these can be obtained in a straightforward way by executing language...
Origin Tracking in Primitive Recursive Schemes (1993)
Algebraic specifications of programming languages can be used to generate languagespecific programming support tools. Some of these can be obtained in a straightforward way by executing language...
Origin Tracking for Higher-Order Term Rewriting Systems (1993)
Origin Tracking is a technique which, in the framework of first-order term rewriting systems, establishes relations between each subterm t of a normal form and a set of subterms, the origins of t, in...
Origin Tracking for Higher-Order Term Rewriting Systems (1993)
Origin Tracking is a technique which, in the framework of first-order term rewriting systems, establishes relations between each subterm t of a normal form and a set of subterms, the origins of t, in...
Identifying Objects using Cluster and Concept Analysis (1970)
Arie Van Deursen, Tobias Kuipers
Many approaches to support (semi-automatic) identification of objects in legacy code take the data structures as starting point for candidate classes. Unfortunately, legacy data structures tend to...
Building Documentation Generators (1970)
Arie Van Deursen, Tobias Kuipers
In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in...
Der Heilbringer : Eine ethnol. Studie über d. Heilbringer bei d. nordamerik. Indianern / (1931)
Zugl.: Amsterdam, Phil., Diss., 1931.