|
Peng Li
Doctoral Student
Dissertation Advisor: Dr. Steve Zdancewic
Programming Languages Research
Department of Computer and Information Science
University of Pennsylvania
Email: lipeng cis.upenn.edu
- Lightweight concurrency in Haskell (Internship project with Simon Peyton
Jones)
In the current GHC, lightweight concurrency is implemented in the
runtime system, which is written in C. This makes the RTS
complicated, error-prone, difficult to maintain and difficult to add
new concurrency features.
Instead of putting all kinds of concurrency support in the runtime
system, we design primitives that can be used to implement
concurrency in the Haskell language itself. This means writting
things like schedulers, run queues, MVars, STM in Haskell, and
providing concurrency support simply as library packages. The
outcome would be increased safety and customizability.
- A purely functional TCP stack written in Haskell:
The implementation is manually (yet straightforwardly) derived from
formal specifications written in HOL.
- Unifying events and threads:
A concurrency model that uses CPS monads to unify event-driven and
multithreaded programming interfaces: per-thread sessions are
written in the multi-threaded style while the main event loop uses
asynchronous I/O interfaces such as epoll and AIO.
- Information-flow arrows:
An embedded information-flow-typed sublanguage for language-based
information-flow control. There is no need to modify the Haskell
language: with only a library module, information-flow policies can
be specified and enforced with strong guarantees.
- Information-flow policies:
How to specify, enforce and reason about policies
for integrity and downgrading
in language-based information-flow control.
- Lightweight Concurrency Primitives for GHC
by Peng Li, Simon Marlow, Simon Peyton Jones and Andrew Tolmach.
In Proceedings of the ACM SIGPLAN Haskell Workshop, September 2007.
- Combining Events and Threads for Scalable Network
Services --
implementation and evaluation of monadic,
application-level concurrency primitives
by Peng Li and Steve Zdancewic.
In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2007.
- Encoding Information Flow in Haskell
by Peng Li and Steve Zdancewic.
In Proceedings of the 19th IEEE CSF Workshop, July 2006.
- Practical Information-flow Control in Web-based Information Systems
by Peng Li and Steve Zdancewic.
In Proceedings of the 18th IEEE CSF Workshop, June 2005.
- Downgrading Policies and Relaxed Noninterference
by Peng Li and Steve Zdancewic.
In Proceedings of the 32nd ACM SIGPLAN/SIGACT Symposium on
Principles of Programming Languages (POPL), pages 158-170, January 2005.
- Advanced Control Flow in Java Card Programming
by Peng Li and Steve Zdancewic.
In Proceedings of the ACM SIGPLAN/SIGBED 2004 Conference on Languages, Compilers
and Tools for Embedded Systems (LCTES), pages 165-174, June 2004.
- Information Integrity Policies
by Peng Li, Yun Mao and Steve Zdancewic.
In Proceedings of the FAST Workshop, September 2003.
- Arrows for Secure Information Flow
by Peng Li and Steve Zdancewic.
Submitted for publication, September 2006.
- Safe Systems Programming Languages
by Peng Li.
Ph.D. Written Preliminary Exam, October 2004.
- Habanero: Type Inference for a Dependently Typed Language
by Nate Foster, Peng Li and Geoffrey Washburn.
CIS-670 Course Project Report, Fall 2003.
- Integrity Extension in Jif
by Peng Li and Yun Mao.
CIS-670 Course Project Report, Spring 2003.
- Dynamic Instruction Reuse Revisited
by Peng Li, Yun Mao, Peng Wang and Geoffrey Washburn.
CIS-501 Course Project Report, Fall 2002.
- Process Checkpointing and Rollback-Recovery on IA-64
by Peng Li and Dongsheng Wang.
Tsinghua University Technical Report, June 2002.
- Combining Events and Threads for Scalable Network
Services --
implementation and evaluation of monadic,
application-level concurrency primitives.
Conference Presentation at PLDI, 2007.
- Encoding Information Flow in Haskell.
Conference Presentation at CSFW-19, 2006.
- Practical Information-flow Control in Web-based Information Systems.
Conference Presentation at CSFW-18, 2005.
- Downgrading Policies and Relaxed Noninterference.
New Jersey Programming Languages Seminar, 2005.
- Downgrading Policies and Relaxed Noninterference.
Conference Presentation at POPL, 2005.
- Safe Systems Programming Languages.
Ph.D. Written Preliminary Exam, 2004.
- Advanced Control Flow in Java Card Programming.
Conference Presentation at LCTES, 2004.
- Conference papers: POPL, ICFP, CSFW. (as student reviewer)
- Journal paper: Journal of Functional Programming.
- 2007 - Microsoft Research Ltd, Cambridge UK.
Research on lightweight concurrency in Haskell with
Simon Peyton Jones.
- 2000 - Chinaren.com (now Sohu.com) Inc. Software development.
- 2001 - Bocom Technologies Inc. Software development.
- 2001 - GE Scholarship
- 2000 - iS-One First-class Scholarship
- 2000 - Tsinghua Alumni Scholarship
- 1999 - FedEx Scholarship
- 1998 -
Winner
of the
USA Computing Olympiad
Spring Open Contest
- 1997 - Gold in the 14th National Olympiad in Informatics, China
- 1996 - Silver in the 13th National Olympiad in Informatics, China
John Blitzer,
Yi Chen,
Yuan Ding,
Yi Feng,
Nate Foster,
Michael Greenwald,
Erdan Gu,
Carl Gunter,
Liang Huang,
Simon Peyton Jones,
Sanjeev Khanna,
Menglei Jia,
E Lewis,
Qian Liu,
Honghui Lu,
Yun Mao,
Simon Marlow,
Benjamin Pierce,
Elaine Shi,
Rui Shi,
Gang Song,
Hui Sun,
Stephen Tse,
Dimitrios Vytiniotis,
Geoffrey Washburn,
Stephenie Weirich,
Steve Zdancewic,
Liming Zhao,
Yifeng Zheng
The papers and documents contained in this website are included by the
contributing authors as a means to ensure timely dissemination of
scholarly and technical work on a non-commercial basis. Copyright and
all rights therein are maintained by the authors or by other copyright
holders, notwithstanding that they have offered their works here
electronically. It is understood that all persons copying this
information will adhere to the terms and constraints invoked by each
author's copyright. These works may not be reposted without the
explicit permission of the copyright holder.
|