Group
I am a member of the Programming Languages group.
Teaching
If you need help, send me a short e-mail and I will suggest a meeting time (on the same or at worst the next day).
Do not just randomly drop by my office, as you may not find me there.
Semester | Course code | Course | What |
---|---|---|---|
Autumn 2016 | 1DL321 | Compiler Design I | Lessons and assignments |
Spring 2016 | 1DL570 | Testing Concurrent and Parallel Software | Assignments |
Autumn 2015 | 1DL321 | Compiler Design I | Lessons and assignments |
Spring 2015 | 1DL570 | Testing Concurrent and Parallel Software | Assignments |
Autumn 2014 | 1DL321 | Compiler Design I | Lessons and assignments |
Autumn 2014 | 1DL450 | Advanced Functional Programming | Labs, assignments and projects |
Autumn 2013 | 1DL321 | Compiler Design I | Lessons and assignments |
Autumn 2013 | 1DL450 | Advanced Functional Programming | Labs, assignments and projects |
Autumn 2012 | 1DL321 | Compiler Design I | Lessons and assignments |
Autumn 2012 | 1DL450 | Advanced Functional Programming | Assignments & Project |
Autumn 2012 | 1DL240 | Object-Oriented Design | Project |
Autumn 2011 | 1DL320 | Compiler Design I | Lessons and assignments |
Research interests
I am working on tools for testing and debugging programs written in the Erlang programming language. Currently, I am one of the maintainers of Dialyzer and Concuerror.
Some highlights of my work on these tools:
- Extend Dialyzer's type inference algorithm to infer and support more fine-grained type, keeping the relation between a function's arguments and results.
- Developed the parallel version of Dialyzer, included in OTP R15B02.
- Implement an improved DPOR algorithm for Concuerror.
Publications
- Optimal dynamic partial order reduction with observers. In Tools and Algorithms for the Construction and Analysis of Systems: Part II, volume 10806 of Lecture Notes in Computer Science, pp 229-248, Springer, 2018. (DOI, Fulltext, Förlagets fulltext - Bok, fulltext:print).
- Effective Techniques for Stateless Model Checking. Ph.D. thesis, Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology nr 1602, Acta Universitatis Upsaliensis, Uppsala, 2018. (fulltext, preview image).
- Source Sets: A Foundation for Optimal Dynamic Partial Order Reduction. In Journal of the ACM, volume 64, number 4, Association for Computing Machinery (ACM), 2017. (DOI).
- The shared-memory interferences of Erlang/OTP built-ins. In Proceedings Of The 16Th Acm Sigplan International Workshop On Erlang (Erlang '17), pp 43-54, Association for Computing Machinery (ACM), New York, 2017. (DOI, fulltext:postprint).
- Testing And Verifying Chain Repair Methods For CORFU Using Stateless Model Checking. In , volume 10510 of Lecture Notes in Computer Science, pp 227-242, Springer, Cham, 2017. (DOI, fulltext:postprint).
- Scaling Reliably: Improving the scalability of the Erlang distributed actor platform. In ACM Transactions on Programming Languages and Systems, volume 39, number 4, 2017. (DOI).
- Comparing source sets and persistent sets for partial order reduction. In Models, Algorithms, Logics and Tools: Essays Dedicated to Kim Guldstrand Larsen on the Occasion of His 60th Birthday, volume 10460 of Lecture Notes in Computer Science, pp 516-536, Springer, 2017. (DOI).
- Stateless model checking for TSO and PSO. In Acta Informatica, volume 54, number 8, pp 789-818, 2017. (DOI).
- Stateless model checking for TSO and PSO. In Tools and Algorithms for the Construction and Analysis of Systems: TACAS 2015, volume 9035 of Lecture Notes in Computer Science, pp 353-367, Springer Berlin/Heidelberg, 2015. (DOI).
- Optimal dynamic partial order reduction. In Proc. 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, volume 49:1 of ACM SIGPLAN NOTICES, pp 373-384, ACM Press, New York, 2014. (DOI).
- On using Erlang for parallelization: Experience from parallelizing Dialyzer. In Trends in Functional Programming, volume 7829 of Lecture Notes in Computer Science, pp 295-310, Springer Berlin/Heidelberg, 2013. (DOI).
- A scalability benchmark suite for Erlang/OTP. In Proc. 11th ACM SIGPLAN Workshop on Erlang, pp 33-42, ACM Press, New York, 2012. (DOI).