ACM SIGPLAN Symposium on Library-Centric Software Design LCSD'07


A symposium on October 21, 2007, co-located with the Object-Oriented Programming, Systems, Languages and Applications (OOPSLA'07) conference in Montréal October 21-25, 2007.

Past editions of the LCSD: LCSD'05, LCSD'06.

The program of the symposium is now available.

Registering for the symposium

Registration for OOPSLA and LCSD is open and the last day for advanced registration reduced rates is September 13. There is a checkbox for LCSD registration inside the OOPSLA registration form. The symposium is open to everyone, no paper is required for participating.

Keynote address

The full-day symposium will begin with an invited talk by Doug Lea.

Engineering java.util.concurrent
Creating open-source core libraries is a wide-ranging effort, spanning algorithm design, API design, tuning performance for broad-spectrum use, writing code that serves as a model for other programmers, writing specifications and documentation, managing release and maintenance, teaching programmers how to use components effectively, and working with those developing tools to help improve usability and reduce errors. None of these can be done in a vacuum; all require teamwork. This talk will present some examples of each facets encountered during the ongoing development of the Java concurrency libraries.
A photo of Doug Lea. Bio: Doug Lea is a professor of Computer Science at the State University of New York at Oswego. He is author of the book ``Concurrent Programming in Java'', and co-author of the text ``Object-Oriented System Development''. He is the author of several widely used software packages and components, as well as articles, reports, and standardization efforts dealing with object oriented software development including those on specification, design and implementation techniques, distributed, concurrent, and parallel object systems, and software reusability.

Goals and activities

LCSD is a scientific forum for presenting original research in the design, implementation, and evaluation of software libraries. Other major activities include the identification of open questions specific to library research and the discussion of a strategic plan for establishing library research as a field. The outcome of the symposium is a combination of research contributions and specific next steps for improving the infrastructure for library research.

Participants are encouraged to read the accepted submissions beforehand. The technical presentations, although based on the accepted papers, should not provide mere summaries of the papers. Instead, authors are encouraged to use their presentation slots (20 + 5 mins) to bring up topics for discussion.

The technical presentations are mixed with scientific and organizational discussions. The discussions aim at furthering the topics of the presentations, thus their agenda will be publicly discussed among the participants and then posted on the website of the symposium. All participants are expected to come prepared with their tentative answers or thoughts.


The program for the symposium is as follows:
8:30-8:40 Symposium organizers' Welcoming Remarks
Technical block 1: Testing and checking Chair: Frank Tip
8:40-9:05 Ciera Jaspan and Jonathan Aldrich: Checking Semantic Usage of Frameworks pdf
9:05-9:20 Danhua Shao, Sarfraz Khurshid and Dewayne Perry: Whispec: White-box Testing of Libraries Using Declarative Specifications pdf
9:20-9:45 Magne Haveraaen: Institutions, Property-Aware Programming and Testing pdf
9:45-10:00 Break
10:00-11:00 Keynote: Brian Goetz standing in for Doug Lea: Engineering java.util.concurrent
11:00-11:30 Break
11:30-11:55 Nicolas Juillerat: Enforcing Code Security in Database Web Applications Using Libraries with Object Models pdf
12:00-13:30 Lunch
Technical block 2: Language extensions as libraries Chair: Jaakko Jarvi
13:30-14:00 Justin Gottschlich and Daniel Connors: DracoSTM: A Practical C++ Approach to Software Transactional Memory pdf
14:00-14:30 Kasper Osterbye: Design of a Class Library for Association Relationships pdf
Technical block 3: Library evolution Chair: Jeremy Siek
14:30-15:00 Marcin Zalewski and Sibylle Schupp: C++ Concepts as Institutions. A Specification View on Concepts. pdf
15:00-15:30 Break
15:30-15:55 Stephane Vaucher and Houari Sahraoui: Do Software Libraries Evolve Differently than Applications? pdf
Technical block 4: Performance Chair: Sibylle Schupp
15:55-16:20 Xiaolong Tang and Jaakko Jarvi: Concept-Based Optimization pdf
16:20-16:45 Qing Yi and R. Clint Whaley: Automated Transformation for Performance-Critical Kernels pdf

Call for papers

Libraries are central to all major scientific, engineering, and business areas, yet the design, implementation, and use of libraries are underdeveloped arts. This symposium is one of the first steps in the process of placing all aspects of libraries on a sound technical and scientific basis through research into fundamental issues and documentation of best practices.

A software library is an organized collection of code with associated tools supporting programming in general or in specific domains, usually united by a specified set of principles and conventions. Most libraries are aimed at the use by several people and in different environments. The areas of software library research include

We invite the submission of papers on software library research, including, but not limited to, the above list of topics. The papers should address issues important to libraries as a field, i.e., describe ideas or techniques that can be reused for libraries across problem domains and/or languages; they should refrain from merely describing a particular library, no matter how novel the choice of domain.

Authors should use the latest ACM SIGS conference style file (option 1). Submissions should be limited to 12 pages in this style.

The accepted papers will be published in the ACM proceedings for the symposium.

Important Dates

Aug 5 - Submission of papers (new deadline!)
Sep 1 - Notification of acceptance
Sep 15 - Submission of final versions of the papers
Oct 21 - Symposium

Submission procedure

Please submit your papers via the electronic submission system here.


Primarily, the email address should be used for questions addressed to the organizers.

Program committee

The organizers will also serve as program committee members.