@article {ccmstrategy-jase09,
	title = {An Integrated Crosscutting Concern Migration Strategy and Its Semi-Automated Application to JHotDraw},
	journal = {Automated Software Engineering},
	volume = {16},
	number = {2},
	year = {2009},
	note = {DOI: 10.1007/s10515-009-0051-2},
	pages = {323-356},
	publisher = {Springer},
	abstract = {In this paper we propose a systematic strategy for migrating crosscutting concerns in existing object-oriented systems to aspect-oriented programming solutions. The proposed strategy consists of four steps: mining, exploration, documentation and refactoring of crosscutting concerns. We discuss in detail a new approach to refactoring to aspect-oriented programming that is fully integrated with our strategy, and apply the whole strategy to an object-oriented system, namely the JHotDraw framework. Moreover, we present a method to semi-automatically perform the aspect-introducing refactorings based on identified crosscutting concern sorts which is supported by a prototype tool called SAIR. We perform an exploratory case study in which we apply this tool on the same object-oriented system and compare its results with the results of manual migration in order to assess the feasibility of automated aspect refactoring. Both the refactoring tool SAIR and the results of the manual migration are made available as open-source, the latter providing the largest aspect-introducing refactoring available to date. We report on our experiences with conducting both case studies and reflect on the success and challenges of the migration process.},
	author = {Marin, Marius and van Deursen, Arie and Moonen, Leon and van der Rijst, Robin}
}
@article {Simula.SE.477,
	title = {A Systematic Survey of Program Comprehension Through Dynamic Analysis},
	journal = {IEEE Transactions on Software Engineering},
	volume = {35},
	number = {5},
	year = {2009},
	pages = {684-702},
	publisher = {IEEE},
	abstract = {Program comprehension is an important activity in software maintenance, as software must be sufficiently understood before it can be properly modified. The study of a program\&$\#$39;s execution, known as dynamic analysis, has become a common technique in this respect and has received substantial attention from the research community, particularly over the last decade. These efforts have resulted in a large research body of which currently there exists no comprehensive overview. This paper reports on a systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis. From a research body consisting of 4,795 articles published in 14 relevant venues between July 1999 and June 2008 and the references therein, we have systematically selected 172 articles and characterized them in terms of four main facets: activity, target, method, and evaluation. The resulting overview offers insight in what constitutes the main contributions of the field, supports the task of identifying gaps and opportunities, and has motivated our discussion of several important research directions that merit additional consideration in the near future.},
	author = {Cornelissen, Bas and Zaidman, Andy and van Deursen, Arie and Moonen, Leon and Koschke, Rainer}
}
@article {extravis-journal,
	title = {Execution Trace Analysis Through Massive Sequence and Circular Bundle Views to Support Program Comprehension},
	journal = {Journal of Systems and Software},
	volume = {81},
	number = {12},
	year = {2008},
	month = {dec},
	abstract = {An important part of many software maintenance tasks is to gain a sufficient level of understanding of the system at hand. The use of dynamic information to aid in this software understanding process is a common practice nowadays. A major issue in this context is scalability: due to the vast amounts of information, it is a very difficult task to successfully navigate through the dynamic data contained in execution traces without getting lost. In this paper, we propose the use of two novel trace visualization techniques based on the massive sequence and circular bundle view, which both reflect a strong emphasis on scalability. These techniques have been implemented in a tool called Extravis. By means of distinct usage scenarios that were conducted on three different software systems, we show how our approach is applicable in three typical program comprehension tasks: trace exploration, feature location, and top-down analysis with domain knowledge.},
	author = {Cornelissen, Bas and Holten, Danny and Zaidman, Andy and Moonen, Leon and van Wijk, J.J and van Deursen, Arie}
}
@article {mdm08.tosem,
	title = {Identifying Crosscutting Concerns Using Fan-In Analysis},
	journal = {ACM Transactions on Software Engineering and Methodology},
	volume = {17},
	number = {1},
	year = {2008},
	month = {jan},
	pages = {1-37},
	abstract = {Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper proposes an aspect mining approach based on determining methods that are called from many different places, and hence have a high fan-in, which can be seen as a symptom of crosscutting functionality. The approach is semi-automatic, and consists of three steps: metric calculation, method filtering, and call site analysis. Carrying out these steps is an interactive process supported by an Eclipse plug-in called FINT. Fan-in analysis has been applied to three open source Java systems, totaling around 200,000 lines of code. The most interesting concerns identified are discussed in detail, which includes several concerns not previously discussed in the aspect-oriented literature. The results show that a significant number of crosscutting concerns can be recognized using fan-in analysis, and each of the three steps can be supported by tools.},
	author = {Marin, Marius and van Deursen, Arie and Moonen, Leon}
}
@inbook {Simula.SE.437,
	title = {On the Interplay Between Software Testing and Evolution - and Its Effect on Program Comprehension},
	booktitle = {Software Evolution},
	year = {2008},
	pages = {173-202},
	publisher = {Springer},
	organization = {Springer},
	chapter = {8},
	isbn = {978-3-540-76439-7},
	author = {Moonen, Leon and van Deursen, Arie and Zaidman, Andy and Bruntink, Machiel},
	editor = {Mens, Tom and Demeyer, Serge}
}
@inproceedings {Simula.SE.453,
	title = {Documenting Typical Crosscutting Concerns},
	journal = {Proceedings 14th IEEE Working Conference on Reverse Engineering (WCRE)},
	year = {2007},
	pages = {31-40},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Our analysis of crosscutting concerns in real-life software systems (totaling over 500,000 LOC) and in reports from literature indicated a number of properties that allow for their decomposition in primitive building blocks which are atomic crosscutting concerns. We classify these blocks in crosscutting concern sorts, and we use them to describe the crosscutting structure of many (well-known) designs and common mechanisms in software systems. In this paper, we formalize the notion of crosscutting concern sorts by means of relational queries over (object-oriented) source models. Based on these queries, we present a concern management tool called SOQUET, which can be used to document the occurrences of crosscutting concerns in object-oriented systems. We assess the sorts-based approach by using the tool to cover various crosscutting concerns in two open-source systems: JHOTDRAW and Java PETSTORE.},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie},
	editor = {Di Penta, Masasimiliano and Jonathan I. {Maletic}}
}
@inproceedings {Simula.SE.457,
	title = {An Integrated Crosscutting Concern Migration Strategy and Its Application to JHotDraw},
	journal = {Proceedings Seventh International Working Conference on Source Code Analysis and Manipulation (SCAM)},
	year = {2007},
	pages = {101-110},
	publisher = {IEEE},
	type = {Conference},
	isbn = {0-7695-3034-6},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie},
	editor = {Korel, Bogdan and Michael W. {Godfrey}}
}
@inproceedings {Simula.SE.461,
	title = {SoQueT: Query-Based Documentation of Crosscutting Concerns},
	journal = {Proceedings 29th International Conference on Software Engineering (ICSE{\textquoteright}07)},
	year = {2007},
	pages = {758-761},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Understanding crosscutting concerns is difficult because their underlying relations remain hidden in a class-based decomposition of a system. Based on an extensive investigation of crosscutting concerns in existing systems and literature, we identified a number of typical implementation idioms and relations that allow us to group such concerns around so- called \&ldquo;sorts\&rdquo;. In this paper, we present SoQuet, a tool that uses sorts to support the consistent description and documentation of crosscutting relations using pre-defined, sort-specific query templates.},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@inproceedings {Simula.SE.463,
	title = {SoQueT: Query-Based Documentation of Crosscutting Concerns},
	journal = {Sixth International Conference on Aspect-Oriented Software Development (AOSD{\textquoteright}07)},
	year = {2007},
	publisher = {ACM},
	type = {Conference},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@inproceedings {Simula.SE.459,
	title = {Understanding Execution Traces Using Massive Sequence and Circular Bundle Views},
	journal = {Proceedings 15th International Conference on Program Comprehension (ICPC)},
	year = {2007},
	pages = {49-58},
	type = {Conference},
	abstract = {The use of dynamic information to aid in software understanding is a common practice nowadays. One of the many approaches concerns the comprehension of execution traces. A major issue in this context is scalability: due to the vast amounts of information, it is a very difficult task to successfully find your way through such traces without getting lost. In this paper, we propose the use of a novel trace visu- alization method based on a massive sequence and circular bundle view, constructed with scalability in mind. By means of three usage scenarios that were conducted on three dif- ferent software systems, we show how our approach, imple- mented in a tool called EXTRAVIS, is applicable to the areas of trace exploration, feature location, and feature comprehension.},
	isbn = {0-7695-2860-0},
	author = {Cornelissen, Bas and Holten, Danny and Zaidman, Andy and Moonen, Leon and van Wijk, J.J and van Deursen, Arie}
}
@inproceedings {Simula.SE.465,
	title = {Visualizing Testsuites to Aid in Software Understanding},
	journal = {Proceedings 11th Conference on Software Maintenance and Reengineering (CSMR)},
	year = {2007},
	publisher = {IEEE},
	type = {Conference},
	author = {Cornelissen, Bas and van Deursen, Arie and Moonen, Leon and Zaidman, Andy}
}
@inproceedings {Simula.SE.469,
	title = {Aiding in the Comprehension of Testsuites},
	journal = {Proceedings 2nd Workshop on Program Comprehension through Dynamic Analysis (PCODA{\textquoteright}06)},
	year = {2006},
	pages = {17-20},
	publisher = {Universiteit Antwerpen},
	type = {Workshop},
	author = {Cornelissen, Bas and van Deursen, Arie and Moonen, Leon},
	editor = {Greevy, Orla and Hamou-Lhadj, Abdelwahab and Zaidman, Andy}
}
@inproceedings {Simula.SE.473,
	title = {A Common Framework for Aspect Mining Based on Crosscutting Concern Sorts},
	journal = {Proceedings 13th Working Conference on Reverse Engineering (WCRE)},
	year = {2006},
	month = {oct},
	publisher = {IEEE},
	type = {Conference},
	abstract = {The increasing number of aspect mining techniques proposed in literature calls for a methodological way of comparing and combining them in order to assess, and improve on, their quality. This paper addresses this situation by proposing a common framework based on crosscutting concern sorts which allows for consistent assessment, comparison and combination of aspect mining techniques. The framework identifies a set of requirements that ensure homogeneity in formulating the mining goals, presenting the results and assessing their quality. We demonstrate feasibility of the approach by retrofitting an existing aspect mining technique to the framework, and by using it to design and implement two new mining techniques. We apply the three techniques to a known aspect mining benchmark and show how they can be consistently assessed and combined to increase the quality of the results. The techniques and combinations are implemented in FINT, our publicly available free aspect mining tool.},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@article {dm06.te,
	title = {Documenting Software Systems Using Types},
	journal = {Science of Computer Programming},
	volume = {60},
	number = {2},
	year = {2006},
	month = {apr},
	pages = {205-220},
	abstract = {We show how hypertext-based program understanding tools can achieve new levels of abstraction by using inferred type information for cases where the subject software system is written in a weakly typed language. We propose TypeExplorer, a tool for browsing COBOL legacy systems based on these types. The paper addresses (1) how types, an invented abstraction, can be presented meaningfully to software re-engineers; (2) the implementation techniques used to construct TypeExplorer; and (3) the use of TypeExplorer for understanding legacy systems, at the level of individual statements as well as at the level of the software architecture - which is illustrated by using TypeExplorer to browse an industrial COBOL system of 100,000 lines of code.},
	author = {van Deursen, Arie and Moonen, Leon}
}
@inproceedings {Simula.SE.475,
	title = {FINT: Tool Support for Aspect Mining},
	journal = {Proceedings 13th Working Conference on Reverse Engineering (WCRE)},
	year = {2006},
	month = {oct},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Aspect mining requires adequate tool support to locate source code elements implementing crosscutting concerns (aka seeds), to explore and understand relations describing these elements, and to manage concerns and seeds during the project\&$\#$39;s life cycle. FINT is a tool implemented as an Eclipse plug-in that presently supports a number of techniques for the automatic identification of crosscutting concern seeds in source code. Furthermore, FINT allows for combination of mining techniques (results), facilitates code navigation and comprehension to reason and decide about candidate-seeds, and supports seeds management and persistence.},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@inproceedings {Simula.SE.489,
	title = {AJHotDraw: a Showcase for Refactoring to Aspects},
	journal = {Proceedings AOSD Workshop on Linking Aspect Technology and Evolution},
	year = {2005},
	publisher = {CWI, the Netherlands},
	type = {Workshop},
	author = {van Deursen, Arie and Marin, Marius and Moonen, Leon}
}
@inproceedings {Simula.SE.493,
	title = {An Approach to Aspect Refactoring Based on Crosscutting Concern Types},
	journal = {Proceedings International Workshop on the Modeling and Analysis of Concerns in Software (MACS) at ICSE},
	year = {2005},
	type = {Workshop},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@inproceedings {Simula.SE.487,
	title = {A Classification of Crosscutting Concerns},
	journal = {Proceedings International Conference on Software Maintenance (ICSM)},
	year = {2005},
	publisher = {IEEE},
	type = {Conference},
	author = {Marin, Marius and Moonen, Leon and van Deursen, Arie}
}
@techreport {bettar,
	title = {A Systematic Aspect-Oriented Refactoring and Testing Strategy, and Its Application to JHotDraw},
	number = {SEN-R0507},
	year = {2005},
	publisher = {Centrum voor Wiskunde en Informatica (CWI)},
	author = {van Deursen, Arie and Marin, Marius and Moonen, Leon}
}
@inproceedings {Simula.SE.495,
	title = {Identifying Aspects Using Fan-In Analysis},
	journal = {Proceedings 11th Working Conference on Reverse Engineering (WCRE)},
	year = {2004},
	pages = {132-141},
	publisher = {IEEE},
	type = {Conference},
	author = {Marin, Marius and van Deursen, Arie and Moonen, Leon}
}
@inproceedings {Simula.SE.497,
	title = {Symphony: View-Driven Software Architecture Reconstruction},
	journal = {Proceedings IEEE/IFIP Working Conference on Software Architecture (WICSA)},
	year = {2004},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Authentic descriptions of a software architecture are required as a reliable foundation for any but trivial changes to a system. Far too often, architecture descriptions of exist- ing systems are out of sync with the implementation. If they are, they must be reconstructed. There are many existing techniques for reconstructing individual architecture views, but no information about how to select views for reconstruction, or about process aspects of architecture reconstruction in general. In this paper we describe view-driven process for reconstructing software architecture that fills this gap. To describe Symphony, we present and compare different case studies, thus serving a secondary goal of sharing real-life reconstruction experience. The Symphony process incorporates the state of the practice, where reconstruction is problem-driven and uses a rich set of architecture views. Symphony provides a common framework for reporting reconstruction experiences and for comparing reconstruction approaches. Finally, it is a vehicle for exposing and demarcating research problems in software architecture reconstruction.},
	author = {van Deursen, Arie and Hofmeister, Christine and Koschke, Rainer and Moonen, Leon and Riva, Claudio}
}
@inproceedings {Simula.SE.527,
	title = {Viewpoints in Software Architecture Reconstruction},
	journal = {Proceedings 6th Workshop on Software Reengineering (WSR)},
	year = {2004},
	publisher = {Bad Honnef},
	type = {Workshop},
	author = {van Deursen, Arie and Hofmeister, Christine and Koschke, Rainer and Moonen, Leon and Riva, Claudio}
}
@inproceedings {Simula.SE.529,
	title = {Aspect Mining and Refactoring},
	journal = {Proceedings First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE)},
	year = {2003},
	month = {nov},
	publisher = {University of Waterloo, Canada},
	type = {Workshop},
	author = {van Deursen, Arie and Marin, Marius and Moonen, Leon}
}
@inbook {Simula.SE.439,
	title = {Refactoring Test Code},
	booktitle = {eXtreme Programming Perspectives},
	year = {2002},
	pages = {141-152},
	publisher = {Addison-Wesley Longman},
	organization = {Addison-Wesley Longman},
	chapter = {14},
	isbn = {978-0201770056},
	author = {van Deursen, Arie and Moonen, Leon and van den Bergh, Alex and Kok, Gerard},
	editor = {Marchesi, M. and Succi, G. and Wells, D. and Williams, L.}
}
@inproceedings {Simula.SE.507,
	title = {The Video Store Revisited: Thoughts on Refactoring and Testing},
	journal = {Proceedings 3nd International Conference on Extreme Programming and Agile Processes in Software Engineering (XP2002)},
	year = {2002},
	month = {may},
	type = {Conference},
	author = {van Deursen, Arie and Moonen, Leon},
	editor = {Marchesi, M. and Succi, G.}
}
@article {deursen-2001-esi,
	title = {An Empirical Study Into Cobol Type Inferencing},
	journal = {Science of Computer Programming},
	volume = {40},
	number = {2-3},
	year = {2001},
	month = {July},
	pages = {189-211},
	abstract = {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, showing how variables are related based on their actual usage. The most problematic aspect of type inference is pollution, the phenomenon that types become too large, and contain variables that intuitively should not belong to the same type. The aim of the paper is to provide empirical evidence for the hypothesis that the use of subtyping is an effective way for dealing with pollution. The main results include a tool set to carry out type inference experiments, a suite of metrics characterizing type inference outcomes, and the experimental observation that only one instance of pollution occurs in the case study conducted.},
	author = {van Deursen, Arie and Moonen, Leon}
}
@inbook {Simula.SE.443,
	title = {From Research to Startup: Experiences in Interoperability},
	booktitle = {Interoperability in Reengineering Tools},
	series = {Dagstuhl Seminar Report 296},
	year = {2001},
	pages = {19},
	publisher = {Dagstuhl},
	organization = {Dagstuhl},
	chapter = {23},
	isbn = {1862 - 4405 (ISSN)},
	author = {van Deursen, Arie and Moonen, Leon},
	editor = {Ebert, J. and Kontogiannis, K. and Winter, A.}
}
@inbook {Simula.SE.441,
	title = {Legacy to the Extreme},
	booktitle = {eXtreme Programming Examined},
	year = {2001},
	pages = {501-514},
	publisher = {Addison-Wesley Longman},
	organization = {Addison-Wesley Longman},
	chapter = {29},
	isbn = {9780201710403},
	author = {van Deursen, Arie and Kuipers, Tobias and Moonen, Leon},
	editor = {Marchesi, M. and Succi, G.}
}
@inproceedings {Simula.SE.525,
	title = {Refactoring Test Code},
	journal = {Proceedings 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2001)},
	year = {2001},
	month = {may},
	type = {Conference},
	abstract = {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 tests are being refactored. We found that refactoring test code is different from refactoring production code in two ways: (1) there is a distinct set of bad smells involved, and (2) improving test code involves additional test-specific refactorings. To share our experiences with other XP practitioners, we describe a set of bad smells that indicate trouble in test code, and a collection of test refactorings to remove these smells.},
	author = {van Deursen, Arie and Moonen, Leon and van den Bergh, Alex and Kok, Gerard},
	editor = {Marchesi, M. and Succi, G.}
}
@misc {deursen-2000-amd,
	title = {Arrangement and Method for a Documentation Generation System},
	year = {2000},
	month = {aug},
	author = {van Deursen, Arie and Kuipers, Tobias and Moonen, Leon}
}
@misc {deursen-2000-ame,
	title = {Arrangement and Method for Exploring Software Systems Using Types},
	year = {2000},
	month = {nov},
	author = {van Deursen, Arie and Moonen, Leon}
}
@inproceedings {Simula.SE.511,
	title = {Exploring Legacy Systems Using Types},
	journal = {Proceedings 7th Working Conference on Reverse Engineering},
	year = {2000},
	pages = {32-41},
	publisher = {IEEE},
	type = {Conference},
	abstract = {We show how hypertext-based program understanding tools can achieve new levels of abstraction by using inferred type information for cases where the subject software system is written in a weakly typed language. We propose TypeExplorer, a tool for browsing COBOL legacy systems based on these types. The paper addresses (1) how types, an invented abstraction, can be presented meaningfully to software re-engineers; (2) the implementation techniques used to construct TypeExplorer and (3) the use of TypeExplorer for understanding legacy systems, at the level of individual statements as well as at the level of the software architecture - which is illustrated by using TypeExplorer to browse an industrial COBOL system of 100,000 lines of code.},
	author = {van Deursen, Arie and Moonen, Leon}
}
@inproceedings {Simula.SE.517,
	title = {Legacy to the Extreme},
	journal = {Proceedings 1st International Conference on eXtreme Programming and Flexible Processes in Software Engineering - XP2000},
	year = {2000},
	month = {may},
	type = {Conference},
	author = {van Deursen, Arie and Kuipers, Tobias and Moonen, Leon},
	editor = {Marchesi, M. and Succi, G.}
}
@inproceedings {Simula.SE.515,
	title = {Understanding Cobol Systems Using Inferred Types},
	journal = {Proceedings 7th International Workshop on Program Comprehension},
	year = {1999},
	publisher = {IEEE},
	type = {Conference},
	abstract = {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, showing how variables are related based on their actual usage. The most problematic aspect of type inference is pollution, the phenomenon that types become too large, and contain variables that intuitively should not belong to the same type. The aim of the paper is to provide empirical evidence for the hypothesis that the use of subtyping is an effective way for dealing with pollution. The main results include a tool set to carry out type inference experiments, a suite of metrics characterizing type inference outcomes, and the conclusion that only one instance of pollution was found in the case study conducted.},
	author = {van Deursen, Arie and Moonen, Leon},
	editor = {Woods, S.}
}
@inbook {Simula.SE.445,
	title = {Understanding Cobol Systems Using Inferred Types},
	booktitle = {Program Analysis},
	series = {Dagstuhl Seminar Report 236},
	year = {1999},
	pages = {15},
	publisher = {Dagstuhl},
	organization = {Dagstuhl},
	chapter = {1.7},
	isbn = {1862 - 4405 (ISSN)},
	author = {van Deursen, Arie and Moonen, Leon},
	editor = {H. R. {Nielson} and M. {Sag, iv}}
}
@inproceedings {Simula.SE.523,
	title = {Type Inference for Cobol Systems},
	journal = {Proceedings 5th Working Conference on Reverse Engineering},
	year = {1998},
	pages = {220-230},
	publisher = {IEEE},
	type = {Conference},
	abstract = {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 (such as COBOL). To solve this problem, we propose a method of automated type inference for these languages. The main ingredients are that if variables are compared using some relational operator their types must be the same; likewise if an expression is assigned to a variable, the type of the expression must be a subtype of that of the variable. We present the formal type system and inference rules for this approach, show their effect on various real life COBOL fragments, describe the implementation of our ideas in a prototype type inference tool for COBOL, and discuss a number of applications.},
	author = {van Deursen, Arie and Moonen, Leon},
	editor = {Blaha, M. and Quilici, A. and Verhoef, Chris}
}
@inbook {Simula.SE.543,
	title = {Cobol Data Flow Analysis},
	booktitle = {Program Analysis for System Renovation},
	year = {1997},
	month = {jan},
	pages = {not specified},
	publisher = {Centrum voor Wiskunde en Informatica (CWI)},
	organization = {Centrum voor Wiskunde en Informatica (CWI)},
	chapter = {11},
	author = {Moonen, Leon and Sellink, Alex},
	editor = {van Deursen, Arie and Klint, P. and Wijers, G.}
}
@inbook {Simula.SE.541,
	title = {Extensions and Applications of the Dhal Data Flow Analysis Framework},
	booktitle = {Program Transformations for System Renovation},
	year = {1997},
	pages = {not specified},
	publisher = {Centrum voor Wiskunde en Informatica (CWI)},
	organization = {Centrum voor Wiskunde en Informatica (CWI)},
	chapter = {14},
	author = {Moonen, Leon},
	editor = {van Deursen, Arie and Klint, P. and Wijers, G.}
}
@inbook {Simula.SE.539,
	title = {A Generic Architecture for Data Flow Analysis to Support Reverse Engineering},
	booktitle = {Program Transformations for System Renovation},
	year = {1997},
	pages = {not specified},
	publisher = {Centrum voor Wiskunde en Informatica (CWI)},
	organization = {Centrum voor Wiskunde en Informatica (CWI)},
	chapter = {13},
	author = {Moonen, Leon},
	editor = {van Deursen, Arie and Klint, P. and Wijers, G.}
}
