Description
Leader of the group Software Analysis and Transformation: Jurgen Vinju.
SWAT studies software systems: their design, construction and evolution. Our mission is to learn to understand software systems and to improve their quality. In particular, we study the causes of software complexity – a major cause of technology failure in society – and investigate how complex systems can be made simpler and more reliable. We analyze and visualize software systems, transforming them into better versions of themselves. We also generate new software with the goal of simplifying it through automation and abstraction. We keep our feet on the ground by working with corporate IT departments on streamlining their software systems and making them more reliable. Putting our ideas into practice is the best way to ensure they work.
News

Jurgen Vinju appointed professor at Eindhoven University of Technology
Starting 1 September 2014, Jurgen Vinju of the Centrum Wiskunde & Informatica (CWI) in Amsterdam is appointed Professor Automated Software Analysis
Who's afraid of Object Algebras?
Object algebras are a simple technique that solves a long-standing problem of extensibility in programming languages, called the expression problem. CWI-researcher Tijs van der Storm presented the technique at Joy of Coding 2014
Valedictory speech 'The Software Revolution' by Paul Klint
On 22 January 2014 Paul Klint, research fellow at CWI and professor Software Engineering at the University of Amsterdam, will retire to the position of emeritus professor. The title of his valedictory speech is 'The Software Revolution'.
PhD research leads to innovation in digital forensics software
In forensics the analysis of digital data faces major challenges. The volume is growing exponentially and there is a wide variety of devices and formats. Jeroen van den Bos, PhD student at the Centrum Wiskunde & Informatica (CWI) in Amsterdam and software engineer at the Netherlands Forensic Institute (NFI), developed a new approach to develop flexible, automated digital forensics software.
Members
Associated Members
Publications
-
Bezirgiannis, N, de Boer, F.S, Johnsen, E.B, Pun, K.I, & Tapia Tarifa, S.L. (2019). Implementing SOS with active objects: A case study of a multicore memory system. In FASE 2019: Fundamental Approaches to Software Engineering (pp. 332–350). doi:10.1007/978-3-030-16722-6_20
-
Ochoa, L.M, González-Rojas, O, Cardozo, N, González, A, Chavarriaga, J, Casallas, R, & Díaz, J.F. (2019). Constraint programming heuristics for configuring optimal products in multi product lines. Information Sciences, 474, 33–47. doi:10.1016/j.ins.2018.09.042
-
Inostroza Valdera, P.A. (2018, November 29). Structuring languages as object-oriented libraries. Institute for Programming research and Algorithmics Dissertation Series.
-
Leduc, M, Degueule, T.F, & Combemale, B. (2018). Modular language composition for the masses. In Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering SLE-2018, co-located with SPLASH 2018 (pp. 47–59). doi:10.1145/3276604.3276622
-
Ju, F, & van Eijck, D.J.N. (2018). A temporal dynamic deontic logic. Journal of Logic and Computation, 29(2), 265–284. doi:10.1093/logcom/exy008
-
Verano Merino, M, Vinju, J.J, & van der Storm, T. (2018). Bacatá: A Language Parametric Notebook Generator (Tool Demo). In Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering (pp. 210–214).
-
Inostroza Valdera, P.A, & van der Storm, T. (2018). JEff: objects for effect. In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (pp. 111–124).
-
Landman, D. (2017, October 5). Reverse engineering source code : empirical studies of limitations and opportunities. Institute for Programming research and Algorithmics Dissertation Series.
-
Degueule, T.F, Mayerhofer, T, & Wortmann, A. (2017). Engineering a ROVER language in GEMOC STUDIO & MONTICORE: A comparison of language reuse support. In CEUR Workshop Proceedings (pp. 349–354).
-
Leduc, M, Degueule, T.F, Combemale, B, van der Storm, T, & Barais, O. (2017). Revisiting visitors for modular extension of executable DSMLs. In ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (pp. 112–122). doi:10.1109/MODELS.2017.23
Software
Rascal: one-stop shop for metaprogramming
Rascal is a general metaprogramming language, facilitating programmers in analyzing, transforming and generating source code.
Rebel: A domain-specific language for product development in finance
Rebel is a domain-specific language (DSL) targeted at the financial sector.
SAGA: A run-time verifier for Java programs
SAGA is a run-time verifier for single-threaded as well as multi-threaded Java programs.
Current projects with external funding
-
Enterprise software engineering
-
Developer-Centric Knowledge Mining from Large Open-Source Repositories (CROSSMINER)
-
Model Extraction for Re-engineering Traditional Software (MERITS)
-
Polyglot and Hybrid Persistence Architectures for Big Data Analytics (TYPHON)
Related partners
-
ING Bank
-
Universita Degli Studi Dell'Qquila
-
University of York
-
Alpha Bank Anonymos Etairia
-
Institut für Angewandte Systemtechnik Bremen
-
Zorgios Ioannis
-
Edge Hill University
-
GMV Aerospace and Defence SA
-
Universite de Namur ASBL
-
Nea Odos Anonymi Eteria Parahorisis
-
SWAT.Engineering
-
X/Open Company Limited
-
Volkswagen AG