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
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.
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:
- 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
Our scientific results are published at the top conferences and journals in Programming Languages and Software Engineering:
- Determinacy in Static Analysis of jQuery, Andreasen and Møller, OOPSLA 2014
- Managing Gradual Typing with Message-Safety in Dart, Ernst, Schwarz, Møller, and Strocco, FOOL 2014
- Sparse Dataflow Analysis with Pointers and Reachability, Madsen and Møller, SAS 2014
- Automated Detection of Client-State Manipulation Vulnerabilities, Møller and Schwarz, to appear in ACM TOSEM, earlier version in ICSE 2012 (ACM SIGSOFT Distinguished Paper)
- Automated Testing with Targeted Event Sequence Generation, Jensen, Prasad, and Møller, ISSTA 2013
- Remedying the Eval that Men Do, Jensen, Jonsson, and Møller, ISSTA 2012 (ACM SIGSOFT Distinguished Paper)
- HTML Validation of Context-Free Languages, Møller and Schwarz, FoSSaCS 2011
- XML Graphs in Program Analysis, Møller and Schwartzbach, Science of Computer Programming, 76(6)
- Interprocedural Analysis with Lazy Propagation, Jensen, Møller, and Thiemann, SAS 2010
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 (firstname.lastname@example.org) 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.)