About CASA

Center for Advanced Software Analysis is an umbrella for a series of research projects related to program analysis and web technologies, located at Department of Computer Science, Aarhus University.

The center is supported by grants (totalling 2.2 M euros) from the Danish Research Council for Technology and Production Sciences and the Danish Council for Independent Research. The research activities are additionally financially supported by IBM Research and Google.

TRIA - Tools for Rich Internet Applications

Rich internet applications are computer programs that use web browsers as platform. This is a popular approach to software development that has many advantages compared to alternative architectures, but it also poses unique challenges to the software developers due to the dynamic nature of the underlying technologies, including JavaScript, DOM, AJAX, and JSON.

The TRIA research project aims to develop formal languages for specifying essential requirements and assumptions together with program analysis tools for verifying consistency between the components, in collaboration with the software company Trifork.

SADL - Static Analysis for Dynamic Languages

Software developers increasingly choose dynamic programming languages despite their well-known drawbacks compared to languages that are statically typed. The flexibility of dynamic languages often makes them more suitable for rapid development of small and medium-sized software applications, whereas statically typed languages permit static type checking that catches many programming errors early in development where they are cheap to correct.

The SADL project aims to lead the way in unifying the two kinds of programming languages by means of static analysis and thereby give the programmers the best from both worlds.

LAWP - Languages and Analyses for Web Programming (2008-2012)

Errors in programs are a well-known problem, both to programmers and users. Modern Web-based software systems are being built from components that in complicated ways communicate with each other and the users. With the increasing prevalence and complexity of the Web, the consequences of programming errors are becoming problematic.

The LAWP research project aims to develop high-level languages and static analysis techniques for XML transformations and server-based web applications, in order to prevent programming errors.

Presentation at WSCR'14

Software Tools

Most of our work combines basic research and development of prototype tools. We build these tools to experimentally evaluate our algorithms and to identify opportunities for new results. The tools are generally prototypes intended for research, not production use, and they are openly available to facilitate reuse and collaboration:

  • TAJS - type analysis for JavaScript
  • Artemis - automated testing for JavaScript
  • JSRefactor - refactoring for JavaScript
  • TSCheck - finding bugs in TypeScript declaration files
  • WARlord - program analysis for Servlets/JSP/Struts
  • XACT - type-safe XML transformations
  • JWIG - high-level Web programming
  • JSA - string analysis for Java

Recent Publications

Our scientific results are published at the top conferences and journals in Programming Languages and Software Engineering:

How to apply

If you are interested in joining CASA as a postdoc, assistant professor, or PhD student, please contact Associate Professor Anders Møller (amoeller@cs.au.dk) and supply a CV and a short description of your experience with program analysis, web technologies, and scripting languages. For prospective PhD applicants, please also provide a preliminary project description (2-4 pages) that describes your ideas for a PhD project. (Note that formal applications for PhD positions must be submitted to the GSST PhD school online application system, but it is strongly recommended that we discuss your project ideas over email before you submit your application.)

Current Members