Adam Welc Adam Welc
Senior Researcher


Adobe (Advanced Technology Lab)
601 Townsend Street
San Francisco, CA 94103


Email: adam@adamwelc.org

URL: http://www.adamwelc.org
RESEARCH In October 2010 I joined Adobe Systems where I currently hold a position of Senior Researcher in the Programming Languages Research Group. My work is in the area of programming language design and implementation, with specific interests in concurrency control, compiler and run-time system optimizations, transactional processing as well as  architectural support for programming languages and applications.
CONFERENCES
ECOOP 2012 Workshops Chair European Conference on Object-Oriented Programming
CGO 2012
Students Chair
International Symposium on Code Generation and Optimization
PLDI 2012
External Review Committee member
Conference on Programming Language Design and Implementation
POPL 2012 External Review Committee member Symposioum on Principles of Programming Languages
ECOOP 2011
Program Committee member
European Conference on Object-Oriented Programming
CGO 2011
Tutorials Chair
International Symposium on Code Generation and Optimization
CAP 2010
Program Committee member
Workshop on Concurrency for the Application Programmer
ECOOP 2010
Program Committee member
European Conference on Object-Oriented Programming
ISMM 2010
Program Committee member
International Symposium on Memory Management
SPAA 2010
Program Comittee member
Symposium on Parallelism in Algorithms and Architectures

PUBLICATIONS

[external,pdf] "Software transactional memory validation - time and space considerations" Adam Welc, Bratin Saha
Transactions on High-Performance Embedded Architectures and Compilers IV, December 2011

[external,pdf] "Safe nondeterminism in a deterministic-by-default parallel language" Robert L. Bocchino Jr., Stephen Heumann, Nima Honarmand, Sarita V. Adve, Vikram S. Adve, Adam Welc
Symposium on Principles of Programming Languages (POPL), January 2011

[external,pdf] "Generic Workers - towards unified distributed and parallel JavaScript programming model" Adam Welc, Richard L. Hudson, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai
International Workshop on Programming Support Innovations for Emerging Distributed Applications (PSIEtA), October 2010 (collocated with SPLASH 2010)

[external,pdf] "Towards transactional memory semantics for C++" Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Robert Geva, Yang Ni, Adam Welc
Symposium on Parallelism in Algorithms and Architectures (SPAA), August 2009

[external,pdf]
"NePalTM: design and implementation of nested parallelism for transactional memory systems" Haris Volos, Adam Welc, Ali-Reza Adl-Tabatabai, Tatiana Shpeisman, Xinmin Tian, Ravi Narayanaswamy
European Conference on Object-Oriented Programming (ECOOP), July 2009


[external,pdf] "xCalls: safe I/O in memory transactions" Haris Volos, Andreas Jaan Tack, Naalem Goyal, Michael M. Swift, Adam Welc
European Conference on Computer Systems (EUROSYS), April 2009


[external,pdf] "Design and implementation of transactional constructs for C/C++" Yang Ni, Adam Welc, Ali-Reza Adl-Tabatabai, Moshe Bach, Sion Berkowits, James Cownie, Robert Geva, Sergey Kozhukow, Ravi Narayanaswamy, Jeffrey Olivier, Serguei Preis, Bratin Saha, Ady Tal, Xinmin Tian
International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), October 2008

[external,pdf] "A uniform transactional execution environment for Java" Lukasz Ziarek, Adam Welc, Ali-Reza Adl-Tabatabai, Vijay Menon, Tatiana Shpeisman, Suresh Jagannathan
European Conference on Object-Oriented Programming (ECOOP), July 2008

[external,pdf] "Irrevocable transactions and their applications" Adam Welc, Bratin Saha, Ali-Reza Adl-Tabatabai
Symposium on Parallelism in Algorithms and Architectures (SPAA), June 2008

[external,pdf] "Kicking the tires of software transactional memory: why the going gets tough" Richard M. Yoo, Yang Ni, Adam Welc, Bratin Saha, Ali-Reza Adl-Tabatabai, Hsien-Hsin S. Lee
Symposium on Parallelism in Algorithms and Architectures (SPAA), June 2008

[external,pdf] "Practical weak-atomicity semantics for Java STM" Vijay Menon, Steven Balensiefer, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Bratin Saha, Adam Welc
Symposium on Parallelism in Algorithms and Architectures (SPAA), June 2008

[external,pdf] "Single global lock semantics in a weakly atomic STM" Vijay Menon, Steven Balensiefer, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Bratin Saha, Adam Welc
Workshop on Transactional Computing (TRANSACT), February 2008

[external,pdf] "Revocation techniques for Java concurrency" Adam Welc, Suresh Jagannathan, Antony L. Hosking
Concurrency and Computation – Practice and Experience, October 2006

[external,pdf] "Transparently reconciling transactions with locking for Java synchronization" Adam Welc, Antony L. Hosking, Suresh Jagannathan
European Conference on Object-Oriented Programming (ECOOP), July 2006

[external,pdf] "Safe futures for Java" Adam Welc, Suresh Jagannathan, Antony L. Hosking
International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), October 2005

[external,pdf] "Improving virtual machine performance using a cross-run profile repository" Matthew Arnold, Adam Welc, V.T. Rajan
International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), October 2005

[external,pdf] "A transactional object calculus" Suresh Jagannathan, Jan Vitek, Adam Welc, Antony L. Hosking
Science of Computer Programming, August 2005 

[external,pdf] "Preemption-based avoidance of priority inversion for Java" Adam Welc, Antony L. Hosking, Suresh Jagannathan
International Conference on Parallel Processing (ICPP), August 2004 

[external,pdf] "Transactional monitors for concurrent objects" Adam Welc, Suresh Jagannathan, Antony L. Hosking
European Conference on Object-Oriented Programming (ECOOP), June 2004 

[external,pdf]"A semantic framework for designer transactions" Suresh Jagannathan, Jan Vitek, Adam Welc, Antony L. Hosking
European Symposium on Programming (ESOP), European Joint Conferences on Theory and Practice of Software (ETAPS), March-April 2004

EDUCATION

PhD in Computer SciencePurdue UniversityComputer Science Department, March 2006
Advisors: Antony L. Hosking and Suresh Jagannathan
[pdf] "Concurrency abstractions for object-oriented programming languages using optimistic protocols"

MS in Computer Science, Purdue University, Computer Science Department, May 2003
Advisor: Antony L. Hosking

MS in Computer SciencePoznan University of Technology, Institute of Computing Science, May 1999
Advisor: Jerzy Brzezinski

PERSONAL I like sailing and, even though it has been a while since I did it regularly, I am actively trying to go back to it. I have recently joined the Polish Yacht Club of San Francisco, so my chances for it got a bit better. In winter I ski, mostly in North Lake Tahoe where my ski club (Peninsula Ski Club) has its nice little lodge. In my spare time I do rock-climbing and also try my luck doing some Tae-Kwon-Do training at Silva Tae Kwon Do. You can find some more personal information, updates on (more or less) recent activities and even some pictures here.