Open Systems Laboratory at Illinois

Rajesh Kumar Karmani

I am interested in parallel and concurrent programming including programming models, design patterns, tool support. Previously I have worked on multi-agent systems and wireless sensor networks. I am fascinated by the prospects of a uniform programming model for multicore architectures, cloud computers, agent systems and wireless sensor networks.

I am currently working on a Java-based Actor framework called ActorFoundry, which allows writing Actor programs in Java like syntax. Try it out; it is very user-friendly. My research goal is to extend it with reusable coordination mechanisms for large-scale Actor programs.

I have also contributed to the Basset Actor Unit-Testing Framework tool, which is a tool for model checking and testing Actor programs that compile down to the Java bytecode.



  1. Samira Tasharofi, Rajesh K. Karmani, Steven Lauterburg, Axel Legay, Darko Marinov, and Gul Agha. TransDPOR: a novel dynamic partial-order reduction technique for testing actor programs. In FMOODS/FORTE, volume 7273 of Lecture Notes in Computer Science, 219–234. Springer, 2012.


  1. Rajesh K. Karmani and Gul Agha. Actors. In Encyclopedia of Parallel Computing, pages 1–11. Springer, 2011.
  2. Rajesh K. Karmani, P. Madhusudan, and Brandon M. Moore. Thread contracts for safe parallelism. In PPOPP, 125–134. ACM, 2011.
  3. Stas Negara, Rajesh K. Karmani, and Gul A. Agha. Inferring ownership transfer for efficient message passing. In PPOPP, 81–90. ACM, 2011.


  1. Rajesh Kumar Karmani and P Madhusudan. A contract language for race-freedom. In Position Paper, Workshop on Exploiting Concurrency Efficiently and Correctly (EC2) with CAV. 2010.
  2. Rajesh Kumar Karmani, P Madhusudan, and Brandon Moore. Thread contracts for race-freedom. In Technical Report, Department of Computer Science, University of Illinois at Urbana Champaign. 2010.
  3. Steven Lauterburg, Rajesh K. Karmani, Darko Marinov, and Gul Agha. Basset: a tool for systematic testing of actor programs. In SIGSOFT FSE, 363–364. ACM, 2010.
  4. Steven Lauterburg, Rajesh K. Karmani, Darko Marinov, and Gul Agha. Evaluating ordering heuristics for dynamic partial-order reduction techniques. In FASE, volume 6013 of Lecture Notes in Computer Science, 308–322. Springer, 2010.


  1. Nicholas Chen, Rajesh Kumar Karmani, Amin Shali, Bor-Yiing Su, and Ralph Johnson. Collective communication patterns. In Workshop on Parallel Programming Patterns (ParaPLOP). 2009.
  2. Rajesh K. Karmani, Amin Shali, and Gul Agha. Actor frameworks for the jvm platform: a comparative analysis. In PPPJ, 11–20. ACM, 2009.
  3. Rajesh Kumar Karmani, Nicholas Chen, Bor-Yiing Su, Amin Shali, and Ralph Johnson. Barrier synchronization pattern. In Workshop on Parallel Programming Patterns (ParaPLOP). 2009.


  1. Rajesh K. Karmani, Timo Latvala, and Gul Agha. On scaling multi-agent task reallocation using market-based approach. In SASO, 173–182. IEEE Computer Society, 2007.