Adam Welc Adam Welc
Principal Member of Technical Staff


Oracle Labs
5IP2070
501 Island Parkway
Belmont, CA 94002

Email: adam@adamwelc.org

URL: http://www.adamwelc.org
RESEARCH In May 2012 I joined Oracle Labs where I currently hold a position of Principal Member of Technical Staff. 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. I have an extensive experience in working with with different types of virtual machines (AVM, ORP JVM, HotSpot JVM, J9 JVM), compilers (GreenMarl, ASC, StarJIT), and other large and complicated frameworks and systems (Truffle framework, STM runtime for Intel's C/C++ compiler, PGX analytics engine). I am also an Associate Editor-in-Chief for the IEEE Software Magazine.
CONFERENCES
OOPSLA 2015
External Review Committee member Conference on Object-Oriented Programming Systems, Languages, and Applications
ASPLOS 2014
External Review Committee member International Conference on Architectural Support for Programming Languages and Operating Systems
DSLDI 2014
Program Chair
Domain Specific Languages Design and Implementation
ASPLOS 2013
Program Committee member
International Conference on Architectural Support for Programming Languages and Operating Systems
ECOOP 2013
Program Committee member
European Conference on Object-Oriented Programming
PLDI 2013
External Review Committee member
Conference on Programming Language Design and Implementation
CGO 2013
Students Chair International Symposium on Code Generation and Optimization
DSLDI 2013 Organizing Committee member Domain Specific Languages Design and Implementation
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] "Fast in-memory triangle listing for large real-world graphs" Martin Sevenich, Sungpack Hong, Adam Welc, Hassan Chafi
Workshop on Social Network Mining and Analysis (SNAKDD), August 2014

[external,pdf] "Graph analysis: do we have to reinvent the wheel?" Adam Welc, Raghavan Raman, Zhe Wu, Sungpack Hong, Hassan Chafi, Jay Banerjee
International Workshop on Graph Data Management Experiences and Systems (GRADES), June 2013

[external,pdf] "Early experiences in using a domain-specific language for large-scale graph analysis" Sungpack Hong, Jan Van Der Lugt, Adam Welc, Raghavan Raman, Hassan Chafi
International Workshop on Graph Data Management Experiences and Systems (GRADES), June 2013

[external,pdf] "Adaptive data parallelism for internet clients on heterogeneous platforms" Alessandro Pignotti, Adam Welc, Bernd Mathiske
Dynamic Languages Symposium (DLS), October 2012

[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 You can find some personal information, updates on (more or less) recent activities and even some pictures here.