I work on aspects of programming language technologies including but not limited to software engineering, real-time and embedded computing, and virtual machine. I dabble in information security, program analysis, concurrent and distributed programming and bioinformatics.

Projects

javascript

DynJS Understanding the Dynamics of JavaScript and automatic benchmark generation with JSBench.

TransactTransactional memory research.

oscj

oSCJ    An open-source implementation of the Safety-Critical Java based on the JSR-302

CDx    The CDx benchmark suite is an open source real-time application benchmark for Java and C

oscj

Ovm    An open-source virtual machine framework for Java

STMBench    A benchmark for evaluating software transactional memory implementations.

prismj

PrismJ    Software for a ScanEagle UAV with Java on board

MBA    Open source model-based protein backbone resonance assignment software in Java

Fiji    Fiji VM is high-performance real-time Java virtual machine

AJ    Data-centric concurrency control with the AJ compiler

FlexoTasks    Very low latency real time programming in Java

Thorn    A dynamically-typed concurrent language with lightweight isolated processes

Service

Events

  • PLDI '12    General Chair, Conference on Programming Language Design and Implementation
  • LCTES '11    General Chair, Languages, Compilers and Tools for Embedded Systems
  • VEESC    Organizer, NSF Workshop on Dynamic Languages for Scientific Computing
  • ISMM '10    General Chair, International Symposium on Memory Management
  • TOOLS'10    Program Chair, TOOLS Europe Conference.
  • TiC '10    Organizer, International Summer School on Trends in Concurrency
  • ESS '10    Organizer, ECOOP Summer School
  • JTRES '10    Program Chair, Java Technologies for Real-Time and Embedded Systems
  • TMW    Organizer, Purdue-NSF Transactional Memory Workshop

Program Committees

  • FOOL13    Workshop on Foundations of Object-Oriented Languages.
  • PLDI'13    Conference on Programming Language Design and Implementation.
  • ECOOP'13    European Conference on Object Oriented Programming.
  • HotPar'13    USENIX Hot Topics in Parallelism.
  • GPCE'13    International Conference on Generative Programming: Concepts & Experiences.
  • ICOOOLPS'13   
  • WASDeTT    International Workshop on Academic Software Development Tools and Techniques.

Activities

I sit on a few steering committees, expert groups, and editorial boards:

  • JOT    Editor in Chief, The Journal of Object Technology
  • JSR-302    Member, Safety Critical Java Technology Expert Group
  • Member, International Advisory board for the CominLabs.
  • WG 2.4    Member, IFIP Working Group 2.4, Software Implementation Technology
  • LCTES    Member, Steering Committee for Languages, Compilers, and Tools for Embedded Systems
  • ISMM    Chair, Steering Committee for International Symposium on Memory Management
  • AITO    Vice President, Association Internationale pour les Technologies Objets
  • JTRES    Member, Steering Committee for Java Technologies for Real-time and Embedded Systems
  • TRANSACT    Member, Steering Committee for SIGPLAN Workshop on Transactional Computing
  • STOP    Member, Steering Committee for SIGPLAN Workshop on Scripts to Programs

Honors

  • University Faculty Scholar, 2011.
  • Microsoft Research Award, SEIF, 2011.
  • Undergraduate Advising Award, 2011.
  • IBM Faculty Award 2006
  • NSF CAREER Award 2001

Invited Talks

  • Microsoft Faculty Summit'11. The Rise of Dynamic Languages for Scientific Computing (Video)
  • MVD'10    Is Java Ready for Real-time?, Midwest Verification Day, Invited talk (PDF)
  • APLWACA'10    Of Scripts and Programs Tall tales, Urban Legends and Future Prospects, Analysis and Programming Languages for Web Applications and Cloud Applications, Invited Talk
  • DLS'09       Of Scripts and Programs Tall tales, Urban Legends and Future Prospects, Dynamic Languages Symposium, Invited Talk (PDF)
  • TOOLS'09    Programming models for Real-time and Concurrency, TOOLS-EUROPE, Keynote (PDF)
  • PLACES'08    Programming Models for Concurrency and Real-time, Programming Language Approaches to Concurrency and Communication-cEntric Software, Invited Talk
  • FCS'05    Language-based Intrusion Detection, Foundations of Computer Security
  • FOSAD'04    Coordination and Security, International School on Foundations of Security Analysis and Design (PDF)






Students and Collaborators

Current PhD Students

Fadi Meawad, Gregor Richards, Scott Carr, Lei Zhao

Current Postdoctoral Associates

Gustavo Petri

Collaborators

Josh Auerbach, David Bacon, David Clarke, Giuseppe Castagna, Yvonne Coady, Toni Cunei, Grzeg Czakowski, Ananth Grama, Dan Grossman, John Field, Christian Grothoff, Rachid Guerraoui, Maurice Herlihy, David Holmes, Tony Hosking, Urs Hoelzle, Nigel Horspool, Suresh Jagannathan, Andreas Krall, Doug Lea, Jeremy Manson, Floreal Morandat, James Noble, Nate Nystrom, Manuel Oriol, Jens Palsberg, Jean Privat, Jesper Spring, Martin Schöberl, Bill Pugh, Peter Sewell, Rok Strinsa, Frank Tip, Olga Vitek, Dominic Duggan, Vivek Sarkar, Francesco Zappa Nardelli, Tian Zhao, Tobias Wrigstad





Teaching

  • CS240    C Programming, Fall 11, Spring 12
  • CS490/CS590    Software for Embedded Systems, Spring 11, Spring 12
  • CS565    Programming Languages, Fall 08, Spring 10
  • CS590V    Embedded and Real-time Computing, Fall 09
  • CS590V    Principle of Programming Languages Seminar Spring 08, Fall 08, Spring 09
  • CS307    Software Engineering, Spring 09
  • CS456    Programming Languages, Fall 07, Spring 04, Spring 01
  • CS510    Software Engineering, Fall 06, Spring 05, Spring 00, Fall 00, Spring 02
  • CS591Y    Software Systems Seminar, Fall '06
  • CS590V    Virtual Execution Environments, Spring 06
  • CS406    Software Engineering, Spring '05, Spring '03
  • CS590V    Resource-aware computing, Spring '03.
  • CS690V    Security for Mobile Code, Fall '99

Grants

Active awards

  • NSF CCF 1048398: Foundations of Data-Centric Concurrency Control. 2010-2011.
  • NSF OCI 1047962: A Tracing VM for Statistical Computing. (with Olga Vitek) 2010-2013.
  • NSF CCF 0916310: Verifying and Validating Safety Critical Java. 2009-2012. (with Gary Leavens)
  • NSF CCF 1019518: Certified Garbage Collection for Highly Responsive Systems. 2008-2011. (with Tony Hosking)
  • NSF CCF 0811631: Unified Open Source Transactional Infrastructure. 2008-2011. (with Suresh Jagannathan, Dan Grossman, Maurice Herlihy)
  • NSF CNS 0720652: High-throughput Real-time Stream Processing in Java. 2007-2010.
  • NSF CNS 0958465: A Computational Infrastructure for Scalable Transactional Memory Abstractions. (with Suresh Jagannathan) 2010.
  • NSF OCI 1042905: Virtual Execution Environments for Scientific Computing Workshop. 2010.
  • NSF CCF 1024387: Third International Summer School on Trends in Concurrency. 2010.

Short Biography

Jan Vitek is a Professor of Computer Science and University Faculty Scholar. He chairs the ACM Special Interest Group on Programming Languages (SIGPLAN). He is currently a visiting Professor at Stanford University and Visiting Scholar at Oracle Labs. He is the vice chair of AITO and of the IFIP WG 2.4 on compilers and software technologies and was the Chief Scientist at Fiji Systems. He holds a PhD from the University of Geneva and a MSc from the University of Victoria. He works on various aspects of programming languages including software engineering, real-time and embedded computing, concurrency and information security. Prof. Vitek led the Ovm project which resulted in the first open source real-time Java virtual machine to be successfully flight-tested a real-time Java virtual machine in 2005. He has since investigated virtual machine technologies for safety-critical embedded systems in avionics and aerospace. With Noble and Potter, Vitek proposed the notion of ownership for alias control, also known as ownership types. He chaired PLDI, ISMM and LCTES and was program chair of ECOOP, VEE, Coordination, and TOOLS. Vitek has started a number of successful workshop series, including MOS on Mobile Objects, IWACO, on aliasing and confinement, and TRANSACT on transactional memory. He is on the steering committees of ECOOP, JTRES, TRANSACT, PLDI and LCTES. He is a member of the JSR-302 Safety Critical Java expert group.

Miscellaneous

Advice on graduate studies. How to get your paper accepted at OOPSLA, rejection advice. Graduate advice by Micheal Ernst. Tips on interviewing.

        

 

Is there any risk of brain damage?
Well, technically speaking, the operation is brain damage, but it's on a par with a night of heavy drinking. Nothing you'll miss.

Eternal Sunshine of the Spotless Mind

Site design by James Koster, 6ix Shooter Media, Pos3idon.