List of Accepted Papers 论文收录

* The acceptance of a few additional papers is still pending

 

Compiling a High-Level Language for GPUs (via Language Support for Architectures and Compilers)
Christophe Dubach12, Perry Cheng1, Rodric Rabbah1, David F. Bacon1, Stephen Fink1
1IBM, 2University of Edinburgh

 

Synchronising C/C++ and POWER
Susmit Sarkar1, Mark Batty1, Scott Owens1, Kayvan Memarian1, Peter Sewell1, Luc Maranget2, Jade Alglave3, Derek Williams4
1University of Cambridge, 2INRIA, 3University of Oxford, 4IBM

 

Static Analysis and Compiler Implementation of Idempotent Processing
Marc Kruijf, Karthikeyan Sankaralingam, Somesh Jha
University of Wisconsin – Madison

 

Adaptive Input-aware Compilation for Graphics Engines
Mehrzad Samadi1, Amir Hormati2, Mojtaba Mehrara1, Scott Mahlke1
1University of Michigan, 2Microsoft Corporation

 

Automated Error Diagnosis Using Abductive Inference
Isil Dillig1, Thomas Dillig1, Alex Aiken2
1College of William & Mary, 2Stanford University

 

Multicore Acceleration of Priority-Based Schedulers for Concurrency Bug Detection
Santosh Nagarakatte1, Sebastian Burckhardt2, Milo M K Martin1, Madanlal Musuvathi2
1University of Pennsylvania, 2Microsoft Research

 

RockSalt: Better, Faster, Stronger SFI for the x86
Greg Morrisett1, Gang Tan2, Joseph Tassarotti1, Jean-Baptiste Tristan1, Edward Gan1
1Harvard University, 2Lehigh University

 

Fast and Precise Hybrid Type Inference for JavaScript
Brian Hackett1, Shu-yu Guo2
1Mozilla Corporation, 2University of California, Los Angeles

 

Fully Automatic and Precise Detection of Thread Safety Violations
Michael Pradel, Thomas Gross
ETH Zurich

 

The Implicit Calculus: A New Foundation for Generic Programming
Bruno Oliveira1, Tom Schrijvers2, Wontae Choi1, Wonchan Lee1, Kwangkeun Yi1
1Seoul National University, 2Universiteit Gent

 

Sound and Precise Analysis of Multithreaded Programs through Schedule Specialization
Jingyue Wu, Yang Tang, Gang Hu, Heming Cui, Junfeng Yang
Columbia University

 

Effective Parallelization of Loops in the Presence of I/O Operations
Min Feng, Rajiv Gupta, Iulian Neamtiu
University of California, Riverside

 

Input-Sensitive Profiling
Emilio Coppa, Camil Demetrescu, Irene Finocchi
Sapienza University of Rome

 

Type-Directed Completion of Partial Expressions
Daniel Perelman1, Sumit Gulwani2, Tom Ball2, Dan Grossman1
1University of Washington, 2Microsoft Research Redmond

 

Synthesising graphics card programs from DSLs
Luke Cartey, Rune Lyngsø, Oege Moor
University of Oxford

 

Reasoning about Relaxed Programs
Michael Carbin, Deokhwan Kim, Sasa Misailovic, Martin C. Rinard
MIT Computer Science and Artificial Intelligence Laboratory

 

Parallelizing Top-Down Interprocedural Analyses
Aws Albarghouthi1, Rahul Kumar2, Aditya Nori3, Sriram Rajamani3
1University of Toronto, 2Microsoft Corporation, 3Microsoft Research India

 

Concurrent Data Representation Synthesis
Peter Hawkins1, Alex Aiken1, Kathleen Fisher2, Martin Rinard3, Mooly Sagiv4
1Stanford University, 2Tufts University, 3MIT Computer Science and Artificial Intelligence Laboratory, 4Tel-Aviv University

 

Diderot: A Parallel DSL for Image Analysis and Visualization
Charisee Chiw, Gordon Kindlmann, John Reppy, Lamont Samuels, Nick Seltzer
University of Chicago

 

A Dynamic Program Analysis to find Floating-Point Accuracy Problems
Florian Benz1, Sebastian Hack1, Andreas Hildebrandt2
1Saarland University, 2Johannes-Gutenberg UniversitÄt Mainz

 

Self-Stabilizing Java
Yong hun Eom, Brian Demsky
University of California, Irvine

 

Race Detection for Web Applications
Boris Petrov1, Martin Vechev2, Manu Sridharan3, Julian Dolby3
1Sofia University, 2ETH Zurich, 3IBM T.J. Watson Research Center

 

Engage: A Deployment Management System
Jeffrey Fischer1, Rupak Majumdar2, Shahram Esmaeilsabzali2
1Genforma Corp., 2MPI-SWS

 

Understanding and Detecting Real-World Performance Bugs
Guoliang Jin1, Linhai Song1, Xiaoming Shi1, Joel Scherpelz2, Shan Lu1
1University of Wisconsin, Madison, 2Nvidia

 

And Then There Were None: A Stall-Free Real-Time Garbage Collector for Reconfigurable Hardware
David F. Bacon, Perry Cheng, Sunil Shukla
IBM Research

 

Polyhedra Scanning Revisited
Chun Chen
University of Utah

 

Dynamic Trace-Based Analysis of Vectorization Potential of Applications
Justin Holewinski, Ragavendar Ramamurthi, Naznin Fauzia, Mahesh Ravishankar, Louis-Noel Pouchet, Atanas Rountev, P. Sadayappan
Ohio State University

 

Automated Synthesis of Symbolic Instruction Encodings from I/O Samples
Patrice Godefroid1, Ankur Taly2
1Microsoft Research, 2Stanford University

 

Parcae: A System for Flexible Parallel Execution
Arun Raman1, Ayal Zaks2, Jae W. Lee 3, David I. August1
1Princeton University, 2IBM Research, 3Sungkyunkwan University

 

Dynamic Synthesis for Relaxed Memory Models
Feng Liu1, Nayden Nedev1, Nedyalko Prisadnikov2, Martin Vechev3, Eran Yahav4
1Princeton University, 2Sofia University, 3ETH Zurich, 4Technion

 

Language-Based Control and Mitigation of Timing Channels
Danfeng Zhang, Aslan Askarov, Andrew Myers
Cornell University

 

A Compiler Framework for Extracting Superword Level Parallelism
Jun Liu, Yuanrui Zhang, Ohyoung Jang, Wei Ding, Mahmut Kandemir
The Pennsylvania State University

 

Algorithmic Profiling
Dmitrijs Zaparanuks, Matthias Hauswirth
University of Lugano

 

Reagents: Expressing and Composing Fine-grained Concurrency
Aaron Turon
Northeastern University

 

Janus: Exploiting Parallelism via Hindsight
Omer Tripp1, Roman Manevich2, John Field3, Mooly Sagiv1
1Tel Aviv University, 2The University of Texas at Austin, 3Google

 

Deterministic Parallelism via Liquid Effects
Ming Kawaguchi, Patrick Rondon, Alexander Bakst, Ranjit Jhala
UC San Diego

 

Chimera: Hybrid Program Analysis for Determinism
Dongyoon Lee, Peter Chen, Jason Flinn, Satish Narayanasamy
University of Michigan, Ann Arbor

 

Scalable and Precise Dynamic Datarace Detection for Structured Parallelism
Raghavan Raman1, Jisheng Zhao1, Vivek Sarkar1, Martin Vechev2, Eran Yahav3
1Rice University, 2ETH Zurich, 3Technion

 

Synthesizing Software Verifiers from Proof Rules
Sergey Grebenshchikov1, Nuno Lopes2, Corneliu Popeea1, Andrey Rybalchenko1
1Technical University Munich, 2INESC-ID / IST – TU Lisbon

 

Speculative Separation for Privatization and Reductions
Nick P. Johnson1, Hanjun Kim1, Prakash Prabhu1, Ayal Zaks 2, David I. August1
1Princeton University, 2IBM Haifa Research Lab

 

SuperC: Parsing All of C by Taming the Preprocessor
Paul Gazzillo, Robert Grimm
New York University

 

Type-Directed Automatic Incrementalization
Yan Chen, Joshua Dunfield, Umut A. Acar
Max Planck Institute for Software Systems

 

Efficient State Merging in Symbolic Execution
Volodymyr Kuznetsov, Johannes Kinder, Stefan Bucur, George Candea
EPFL

 

Design and Implementation of Sparse Global Analyses for C-like Languages
Hakjoo Oh, Kihong Heo, Wonchan Lee, Woosuk Lee, Kwangkeun Yi
Seoul National University
 

现在虽说卖硬件的比不上卖软件的,卖软件的比不上卖服务的。但软件仍然是服务的基石。
而且不管是软件、硬件、还是服务,背后都是一行行的代码,以及基于这些代码所形成的软件功能、硬件系统、技术人员的经验等等。
这些代码有的用C/C++、Java、C#写,有的用PHP、JavaScript、Ruby写,有的用Verilog写。 Continue reading »

 

List of accepted papers

  1. Multiple Facets for Dynamic Information Flow. Authors:
    Thomas Austin and Cormac Flanagan (UC Santa Cruz)
  2. A Unified Approach to Fully Lazy Sharing.
    Authors:
    Thibaut Balabonski (PPS, Université Paris-Diderot)
  3. An Executable Formal Semantics of C with Applications.
    Authors:
    Chucky Ellison and Grigore Rosu (University of Illinois)
  4. Defining Code-injection Attacks.Authors:
    Donald Ray and Jay Ligatti (University of South Florida)
  5. The Marriage of Bisimulations and Kripke Logical Relations.
    Authors:
    Chung-Kil Hur, Derek Dreyer, Georg Neis, and Viktor Vafeiadis (MPI-SWS)
  6. Recursive Proofs for Inductive Tree Data-Structures.
    Authors:
    P. Madhusudan, Xiaokang Qiu, and Andrei Stefanescu (Univ of Illinois at Urbana-Champaign)
  7. An Abstract Interpretation Framework for Termination. Authors:
    Patrick Cousot (CNRS ENS INRIA NYU) and Radhia Cousot (CNRS ENS INRIA)
  8. Algebraic Foundations for Effect-Dependent Optimisations. Authors:
    Ohad Kammar and Gordon Plotkin (University of Edinburgh)
  9. Higher-Order Functional Reactive Programming in Bounded Space.Authors:
    Neelakantan R. Krishnaswami and Nick Benton (Microsoft Research) and Jan Hoffmann (LMU Munich)
  10. Optimal Randomized Transformation of Approximate Computations. Authors:
    Zeyuan Allen Zhu, Sasa Misailovic, Jonathan Kelner, and Martin Rinard (MIT)
  11. Clarifying and compiling C/C++ concurrency: from C++0x to POWER.
    Authors:
    Mark Batty (University of Cambridge), Kayvan Memarian (INRIA), and Scott Owens, Susmit Sarkar, and Peter Sewell (University of Cambridge)
  12. A Compiler and Run-time System for Network Programming Languages.
    Authors:
    Christopher Monsanto (Princeton University), Nate Foster (Cornell University), Rob Harrison (United States Military Academy), and David Walker (Princeton University)
  13. Information Effects.
    Authors:
    Roshan James and Amr Sabry (Indiana University)
  14. A Language for Automatically Enforcing Privacy Policies. Authors:
    Jean Yang, Kuat Yessenov, and Armando Solar-Lezama (MIT CSAIL)
  15. Static and User-Extensible Proof Checking. Authors:
    Antonis Stampoulis and Zhong Shao (Yale University)
  16. A Rely-Guarantee-Based Simulation for Verifying Concurrent Program Transformations. Authors:
    Hongjin Liang, Xinyu Feng, and Ming Fu (School of Computer Science and Technology, University of Science and Technology of China)
  17. A Type Theory for Probability Density Functions.Authors: Sooraj Bhat (College of Computing, Georgia Institute of Technology), Ashish Agarwal (Courant Institute of Mathematical Sciences, New York University), and Richard Vuduc and Alexander Gray (College of Computing, Georgia Institute of Technology)
  18. Abstractions From Tests. Authors:
    Mayur Naik (Georgia Tech), Hongseok Yang (Oxford University), and Ghila Castelnuovo and Mooly Sagiv (Tel-Aviv University)
  19. A mechanized semantics for C++ object construction and destruction, with applications to resource management.Authors:
    Tahina Ramananandro (INRIA Paris-Rocquencourt), Gabriel Dos Reis (Texas A&M University), and Xavier Leroy (INRIA Paris-Rocquencourt)
  20. Programming with Binders and Indexed Data-Types.
    Authors:
    Andrew Cave and Brigitte Pientka (McGill University)
  21. Analysis of Recursively Parallel Programs. Authors:
    Ahmed Bouajjani and Michael Emmi (LIAFA, Université Paris Diderot, France)
  22. Access Permission Contracts for Scripting Languages. Authors:
    Phillip Heidegger, Annette Bieniusa, and Peter Thiemann (University of Freiburg)
  23. Canonicity for 2-Dimensional Type Theory.Authors:
    Daniel R. Licata and Robert Harper (Carnegie Mellon University)
  24. Freefinement. Authors:
    Stephan van Staden (ETH Zurich), Cristiano Calcagno (ETH Zurich, Imperial College London and Monoidics Ltd), and Bertrand Meyer (ETH Zurich)
  25. Towards Nominal Computation.
    Authors:
    Mikolaj Bojanczyk, Laurent Braud, Bartek Klin, and Slawomir Lasota (University of Warsaw)
  26. Resource-Sensitive Synchronization Inference by Abduction. Authors:
    Matko Botincan and Mike Dodds (University of Cambridge) and Suresh Jagannathan (Purdue University)
  27. Underspecified harnesses and interleaved bugs.
    Authors:
    Saurabh Joshi (IIT Kanpur), Shuvendu Lahiri (Microsoft Research, Redmond), and Akash Lal (Microsoft Research, Bangalore)
  28. Constraints as Control.
    Authors:
    Ali Sinan Köksal, Viktor Kuncak, and Philippe Suter (EPFL)
  29. Edit Lenses. Authors:
    Martin Hofmann (Ludwig Maximilians Universität) and Benjamin C. Pierce and Daniel Wagner (University of Pennsylvania)
  30. Sound Predictive Race Detection in Polynomial Time.
    Authors:
    Yannis Smaragdakis (University of Athens and UMass Amherst), Jacob M. Evans (University of Massachusetts at Amherst), and Caitlin Sadowski, Jaeheon Yi, and Cormac Flanagan (University of California at Santa Cruz)
  31. Symbolic Finite State Transducers, Algorithms and Applications. Authors:
    Nikolaj Bjorner (Microsoft Research), Pieter Hooimeijer (U. Virginia), and Benjamin Livshits, David Molnar, and Margus Veanes (Microsoft Research)
  32. Run Your Research: On the Effectiveness of Lightweight Mechanization. Authors:
    Casey Klein (Northwestern University), John Clements (California Polytechnic State University), Christos Dimoulas, Carl Eastlund, and Matthias Felleisen (Northeastern University), Matthew Flatt (University of Utah), Jay McCarthy (Brigham Young University), Jon Rafkind (University of Utah), Sam Tobin-Hochstadt (Northeastern University), and Robert Bruce Findler (Northwestern University)
  33. Extending System F-eta with Abstraction over Erasable Coercions.
    Authors:
    Didier Remy and Julien Cretin (INRIA Paris-Rocquencourt)
  34. A Program Logic for JavaScript.
    Authors:
    Philippa Gardner, Sergio Maffeis, and Gareth Smith (Imperial College London)
  35. Deciding Choreography Realizability.
    Authors:
    Samik Basu (Iowa State University), Tevfik Bultan (University of California at Santa Barbara), and Meriem Ouederni (University of Malagna)
  36. Nested Refinements for Dynamic Languages.
    Authors:
    Ravi Chugh, Patrick M. Rondon, and Ranjit Jhala (UC San Diego)
  37. The Ins and Outs of Gradual Type Inference.Authors:
    Aseem Rastogi (SUNY Stony Brook) and Avik Chaudhuri and Basil Hosmer (Adobe Advanced Technology Labs)
  38. A Type System for Borrowing Without Fractions.
    Authors:
    Karl Naden, Robert L. Bocchino Jr., and Jonathan Aldrich (Carnegie Mellon University)

  39. Formalizing the LLVM Intermediate Representation for Verified Program Transformation.

    Authors:
    Jianzhou Zhao, Steve Zdancewic, Santosh Nagarakatte, and Milo M. K. Martin (University of Pennsylvania)
  40. Self-Certification: Bootstrapping Typecheckers in F* with Coq.
    Authors:
    Pierre-Yves Strub (MSR INRIA) and Nikhil Swamy, Cedric Fournet, and Juan Chen (Microsoft Research)
  41. Verification of Parameterized Concurrent Programs By Modular Reasoning about Data and Control. Authors:
    Azadeh Farzan and Zachary Kincaid (University of Toronto)
  42. Probabilistic Relational Reasoning for Differential Privacy.
    Authors:
    Gilles Barthe, Boris Köpf, Federico Olmedo, and Santiago Zanella Beguelin (IMDEA Software Institute)
  43. Playing in the Grey Area of Proofs.
    Authors:
    Krystof Hoder (University of Manchester), Laura Kovacs (TU Vienna), and Andrei Voronkov (University of Manchester)
  44. Syntactic Control of Interference for Separation Logic.
    Authors:
    Uday S. Reddy (University of Birmingham) and John C. Reynolds (Carnegie-Mellon)
 

没错,是量子计算机。既然是计算机,就需要程序员,需要程序员就需要编译器。今天就来聊聊量子计算机的编译器,因为量子计算机还遥遥无期,所以就叫YY了。

这篇文章源自龙书第一作者,现在在哥伦比亚大学教书的Alfred V. Aho在 2008年PLDI上的一篇邀请讲座的PPT,能读懂英文的,请无视本文,原因嘛,我是中国人,你懂的,哈。 Continue reading »

 

据十分可靠的小道消息透露:2012年的PLDI会议极其有可能会在中国召开。

PLDI(Programming Language Design and Implementation)是全球最有影响力的有关编程语言设计和编译器实现方面的会议。每年一届,平均每篇文章的被引用次数达到38次,在所有体系结构相关会议中排名第四,前三依次是OSDI(Usenix Symposium on Operating Systems Design and Implementation), SOSP(ACM SIGOPS Symp on OS Principles), ASPLOS(Architectural Support for Programming Languages and Operating Systems).PLDI每年的通过率仅有20%+,基本是4:1的比例。

中国地区,迄今为止,共发表过5篇论文,分别是2010年计算所、2008和2007年清华、2005和2004年Intel中国、1992年中国台湾。2011年的PLDI,本博听说已经有两个小团伙在冲刺,文章初稿的提交截止日期是后天(美国时间:11月19号),目前他们几乎都在加班加点,拼命丰富。祝他们好运!

PLDI, Welcome to China!

 

相信很多人都听说过:程序80%的运行时间用来执行20%的代码。循环几乎占一般应用程序运行时间的绝大部分。优化程序中有关循环尤其是关键循环的代码将会给程序的性能带来很大的提升。而且这种循环优化是目标机器无关的,任何对循环的一点点优化都会在所有编译器支持的目标机上带来性能提升。所以编译器上的循环优化一直是研究的热点。 Continue reading »

 

此次讲习班,因为没有资助,没钱参加。所以本博只厚着脸皮蹭了最后的讨论会。会上,来自全国不少地方的学生、老师都在,踊跃发言提问。Godson-T是热点,但因为本博做编译,呵呵,所以当时记录时,着眼这方面的较多。各位看官谅解。 Continue reading »

 

上周末中国计算机学会(CCF)举办了《多核技术讲习班》,举办地点在北京,中科院计算所。邀请了明尼苏达大学的丁晨副教授、华为美国研究所的胡子昂博士、美国宾州州立大学的谢源副教授和中科院计算所的范东睿副研究员分别做讲座。

四位的报告题目:

  1. 丁晨:并行编程与编译技术
  2. 谢源:新型半导体器件与工艺
  3. 胡子昂:通信与多核计算
  4. 范东睿:Godson-T与众核体系结构 Continue reading »
 

《关于并行貌似正确的废话》系列文章:

  1. 关于并行貌似正确的废话–串行已经尽力了
  2. 关于并行貌似正确的废话-程序语言发展的启示
  3. 《关于并行貌似正确的废话-程序员是优秀的管理者》

封装这一永恒的主题,在多核的时代还会永恒下去吗?答案是肯定的!

既然四个核的存储一致性都很难通过高效的机制保证,众核时代,更是如此。这众核肯定是若干个小的,结构简单的,功能不同的核的集合体。未来的程序,单单的串行,这么多核,很难充分的利用。功耗已经很高了,多少个核,就至少是多少倍的功耗提升,仅仅依靠投机也是不行的。

Continue reading »

 

《关于并行貌似正确的废话》系列文章:

  1. 关于并行貌似正确的废话–串行已经尽力了
  2. 关于并行貌似正确的废话-程序语言发展的启示
  3. 《关于并行貌似正确的废话-程序员是优秀的管理者》

怎么办?解铃还需系铃人。既然自动的做不了,程序员就需要有并行的头脑,用并行的语言和开发方式,设计,实现。怎么并行?

或许计算机和程序语言的发展史能给我们一些启发。

Continue reading »

2009-2011© 编译点滴 Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量