- research themes
- research groups
- Algorithms and Complexity
- Computational Dynamics
- Database Architectures
- Distributed and Interactive Systems
- Formal Methods
- Information Access
- Intelligent Systems
- Life Sciences
- Multiscale Dynamics
- Networks and Optimization
- Scientific Computing
- Software Analysis and Transformation
- research staff
- In brief
Software Analysis and Transformation
SWAT studies software systems: their design, their construction and their inevitable evolution. Our mission is to learn to understand software systems and to improve their quality. We focus on complexity as the primary quality attribute of software systems. Software complexity is an important subject, which is not only due to the ubiquity of software systems and failing ICT projects in society. We study the causes of software complexity and how complex systems can be made simpler.
Jurgen Vinju is the leader of SWAT.
These are the topics of interest:
With software analysis we propose and evaluate methods for observing software both quantitatively and qualitatively. We automatically extract models of software systems, which can then be simulated, measured, checked and visualized. On the one hand such analyses may provide insight into specific software systems, which is valuable in itself. On the other hand, by collecting information about sets of software systems, we may also use software analysis to come to general insights. We work on a variety of increasingly rich models of software systems that would allow increasingly meaningful analyses to be performed.
Software visualization is an important aspect of software analysis. We study the use of data visualization techniques in this domain. Our goal is to obtain a better understanding of the methodologies and formalisms involved in building and engineering interactive visualization systems. The scope of this research is wider than software visualization per se.
With software transformation we propose and evaluate automated methods of construction and maintenance of software systems. Using large-scale automated software renovation we improve software quality by transforming existing systems to better systems. Software transformation and analysis go hand in hand. Automated software analysis is used for checking preconditions of automated software transformations such as refactoring.
With software generation the goal is to simplify software by automation and abstraction. Using the construction of domain-specific languages we improve quality of newly designed systems by carefully constructing automated but reconfigurable transformations from high-level domain concepts to high quality source code. The questions are which domain specific languages should be defined, and how to implement them effectively.
We study epistemic processes, such as voting systems and social protocols, using Epistemic Modal Logic. Another topic under this heading is Computational Linguistics, where we apply functional programming to model and implement language processing tools.
SEN1 (SWAT) has a strong tradition in building and contributing to open source software.
SEN1 (SWAT) is heavily involved in the Master Software Engineering. This successful research master covers a big part of the SWEBOK. It is a collaboration between Universiteit van Amsterdam, Vrije Universiteit, CWI and Hogeschool van Amsterdam. Paul Klint is the director of the programme and Jan van Eijck, Tijs van der Storm and Jurgen Vinju are teachers.
- Please find the relevant publications per project via the project links below.
- Publications of SEN1 (SWAT) in CWI repository.
- SWAT is closely collaborating with INRIA Lille Nord Europe, in the form of an INRIA-funded project called ATEAMS
- The Software Improvement Group is a spin-off from SWAT (previously known as SEN1)
- Please find an enumeration of all companies and institutes that we collaborate with here.
- Each project page (below) also describes the project's partners.
- GLT - Generic Language Technology
- GrammarLab: Foundations for a Grammar Laboratory
- Model Driven Engineering in Digital Forensics
- Next Generation Auditing: Data-assurance as a Service
- Domain Specific Languages: a Big Future for Small Programs
- ESCHER: End-user Scripting for High-level Software Representation
- ATEAMS: Analysis and Transformation based on Reliable Tool Compositions
- EQUA: Early Quality Assurance in Software Production
- NWO Stimuleringsregeling Kennisbenutting: Analyse van C/C++ source code
- Applied Logic
- QUASID: Quantitative Spatial Interaction Design
- VEARD: Visual Exploration environment for Analyzing gene Regulation in Developmental processes
- High Resolution 3D Imaging Mass Spectrometry
- SEN1: Bas Basten, Arnold Lankamp, Arie van Deursen, Ralf Lämmel, Jan Heering, Mark van den Brand, Rob Economopoulos, Gerco Ballintijn, Slinger Jansen (Roijackers), Merijn de Jonge, Joost Visser, Tobias Kuipers, Leon Moonen, Hayco de Jong, Pieter Olivier, Jørgen Iversen, Jeroen Scheerder, Magiel Bruntink, Taeke Kooiker, Jan Rekers, Emma van der Meulen, Paul Hendriks, Pum Walters, Hans van Dijk, Jasper Kamperman, Frank Tip, Huub Bakker, Job Ganzevoort, Niek van Diepen, T.B. Dinesh, Anton Eliens, Ed Kuijpers, Yaroslav Usenko, Anthony Cleve, Fabian Battaglini, Yanjing Wang, Lakshmanan Kuppusami, Chris Kruszynski, Lei Liu, Mike Godfrey.
- SEN2: Wan Fokkink, Jaco van de Pol, Jens Calame, Francien Dechesne, Jan Friso Groote, Taolue Chen,
- Universiteit van Amsterdam: Wilco Koorn, Casper Dik, Paul Vriend, Eelco Visser, Susan Üsküdarlı, Freek Wiedijk.