Jurgen Vinju

Scientific Staff Member, Group leader, Professor

Full Name Prof.dr. J.J. Vinju
Function(s) Scientific Staff Member, Group leader, Professor
Telephone +31 20 592 4102
Room L221
Department(s) Software Analysis and Transformation


Jurgen Vinju is group leader of SWAT (Software Analysis and Transformation). His PhD thesis from 2005 was titled "Analysis and Transformation of Source Code by Parsing and Rewriting".The group studies software systems: their design, their construction and their inevitable evolution. We focus on complexity of understanding 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: there is a general lack of deep understanding of what causes software systems to be complex and how complex systems can be made simpler. We study software analysis, software transformation and software generation techniques to try and improve this situation. A key insight is that software engineering can not be separated from its application context, so we dive deep into particular domains such as Refactoring, Digital Forensics, Tax, Computational Auditing, and Scientific Computing.

Selected Publications

  • Davy Landman, A. Serebrenik, E. Bouwers, J.J. Vinju, Empirical analysis of the relationship between CC and SLOC in a large corpus of Java methods and C functions, John Wiley & Sons, 2016
  • M. Steindorfer, J.J. Vinju, Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM Collections, A.C.M., 783-800, 2015
  • T. van der Storm, J.J. Vinju, Towards Multilingual Programming Environments, North-Holland, 143-149, 2015
  • M.A. Hills, P. Klint, J.J. Vinju, An empirical study of PHP feature usage, 2013
  • A. Afroozeh, M.G.J. van den Brand, A. Johnstone, E. Scott, J.J. Vinju, Safe Specification of Operator Precedence Rules , 2013
  • P. Klint, Davy Landman, J.J. Vinju, Exploring the Limits of Domain Model Recovery, IEEE Computer Society, 120-129, 2013
  • P. Klint, J.J. Vinju, M.A. Hills, RLSRunner: Linking Rascal with K for program analysis, Springer, 2011
  • J.J. Vinju, M.A. Hills, P. Klint, A. van der Ploeg, A. Izmaylova, T. van der Storm, The Rascal meta-programming language - a lab for software analysis, transformation, generation & visualization, 2011
  • J.J. Vinju, P. Klint, M.A. Hills, T. van der Storm, A case of visitor versus interpreter pattern, 2011
  • H.J.S. Basten, J.J. Vinju, Parse Forest Diagnostics with Dr. Ambiguity, Springer, 2011
  • H.J.S. Basten, P. Klint, J.J. Vinju, Ambiguity Detection: Scaling to Scannerless, Springer, 2011
  • P. Klint, T. van der Storm, J.J. Vinju, EASY meta-programming with Rascal, Springer, 222-289, 2011
  • P. Klint, T. van der Storm, J.J. Vinju, Rascal: A domain specific language for source code analysis and manipulation, IEEE, 2009
  • P. Charles, R.M. Fuhrer, S.M. Sutton, E. Duesterwald, J.J. Vinju, Accelerating the creation of customized, language-specific IDEs in Eclipse, ACM, 191-206, 2009
  • G.R. Economopoulos, P. Klint, J.J. Vinju, Faster scannerless GLR parsing, Springer, 126-141, 2009
  • J.J. Vinju, Analysis and transformation of source code by parsing and rewriting, Universiteit van Amsterdam, 2005


  • Adviseren en verrichten van onderzoek naar de functionele en niet-functionele eigenschappen van een deel van ING\'s IT-infrastructuur
  • Enterprise software engineering
    Developer-Centric Knowledge Mining from Large Open-Source Repositories
    Model Extraction for Re-engineering Traditional Software