Description
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.
Vacancies
No vacancies currently.
News

Davy Landman awarded with IPA dissertation Award
Former CWI PhD candidate and CEO of CWI spinoff SWAT.Engineering Davy Landman has been awarded the Institute for Programming research and Algorithmics (IPA) Dissertation Award 2018 for his thesis "Reverse engineering source code: Empirical studies of limitations and opportunities."

Software Renovation by Reverse Engineering Source Code
Currently, software renovation is a hot topic, because our society is depending more and more on aging software. By renovating software we refresh aging software to better match the current technical and business environment. In his thesis CWI PhD candidate Davy Landman studied the automation of software renovation by using Reverse Engineering.

Distinguished paper Award for CWI researchers Davy Landman and Jurgen Vinju
At the ICSE 2017 (39th International Conference on Software Engineering) in Buenos Aires CWI researchers Davy Landman and Jurgen Vinju in collaboration with Alexander Serebrenik (TUE) have been awarded with the ACM SIGSOFT Distinguished Paper Award for their paper "Challenges for Static Analysisof Java Reflection - Literature Review and Empirical Study".
Talk by Tijs van der Storm at Curry On conference (video)
On 18 July 2016, CWI researcher Tijs van der Storm gave a talk at the Curry On conference in Rome. The full recording of this talk, titled 'Rascal: the Swiss Army Knife of Meta Programming' can be found below.
Members
Associated Members
Publications
-
van Rozen, R.A. (2020). Languages of games and play: A systematic mapping study. ACM Computing Surveys, 53(6). doi:10.1145/3412843
-
van Binsbergen, L.T, Liu, L.-C, van Doesburg, R., & van Engers, T. (2020). eFLINT: a domain-specific language for executable norm specifications. In Proceedings of the ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. doi:10.1145/3425898.3426958
-
Soethout, T.M, van der Storm, T, & Vinju, J.J. (2020). Automated Validation of State-Based Client-Centric Isolation with TLA+. In Proceedings SEFM 2020. doi:10.1007/978-3-030-67220-1_4
-
van Binsbergen, L.T, Scott, E, & Johnstone, A. (2020). Purely functional GLL parsing. Journal of Computer Languages, 58. doi:10.1016/j.cola.2020.100945
-
Leduc, M, Degueule, T.F, van Wyk, E, & Combemale, B. (2019). The software Language Extension Problem. Software and Systems Modeling. doi:10.1007/s10270-019-00772-7
-
Stoel, J, van der Storm, T, & Vinju, J.J. (2019). AlleAlle: Bounded relational model finding with unbounded data. In Onward! 2019 - Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, co-located with SPLASH 2019 (pp. 46–61). doi:10.1145/3359591.3359726
-
Klint, P, van der Storm, T, & Vinju, J.J. (2019). Rascal, 10 years later. In Proceedings of the International Working Conference on Source Code Analysis and Manipulation (pp. 139–139). doi:10.1109/SCAM.2019.00023
-
van Rozen, R.A, & van der Storm, T. (2019). Toward Live Domain-Specific Languages: From Text Differencing to Adapting Models at Run Time. Software and Systems Modeling. doi:10.1007/s10270-017-0608-7
-
Bezirgiannis, N, de Boer, F.S, Johnsen, E.B, Pun, V.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
-
van Binsbergen, L.T. (2019, April). Executable Formal Specification of Programming Languages with Reusable Components.
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 ()
Related partners
-
ING Bank