LtU Forum

SPLASH 2015 - 2nd Combined Call for Contributions

/************************************************************************************/
ACM Conference on Systems, Programming, Languages, and Applications:
Software for Humanity (SPLASH'15)

Pittsburgh, Pennsylvania, USA
25th-30th October, 2015

http://www.splashcon.org

Sponsored by ACM SIGPLAN

/************************************************************************************/
COMBINED CALL FOR CONTRIBUTIONS
Demos
Doctoral Symposium
Dynamic Languages Symposium (DLS)
OOPSLA Artifacts
Posters
SPLASH-E
Student Research Competition
Student Volunteers
Tutorials
Wavefront
Workshops

Co-Located Conferences: SLE, GPCE, DBPL, PLoP
/************************************************************************************/

The ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) embraces all aspects of software construction and delivery to make it the premier conference at the intersection of programming, languages, and software engineering. SPLASH is now accepting submissions. We invite high quality submissions describing original and unpublished work.

Most of the following tracks have submissions due: 30 JUNE

** Demos **
The SPLASH Demonstrations track is an excellent vehicle for sharing your latest work with an experienced and technically savvy audience. Live demonstrations show the impact of software innovation. Demonstrations are not product sales pitches, but rather an opportunity to highlight, explain, and present interesting technical aspects of running applications in a dynamic and highly interactive setting. Presenters are encouraged to actively solicit feedback from the audience, which should lead to very interesting and entertaining demonstration sessions.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-demos

** Doctoral Symposium **
The SPLASH Doctoral Symposium provides students with useful guidance for completing their dissertation research and beginning their research careers. The Symposium will provide an interactive forum for doctoral students who have progressed far enough in their research to have a structured proposal, but will not be defending their dissertation in the next 12 months.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-ds

** Dynamic Languages Symposium (DLS) **
The 11th Dynamic Languages Symposium (DLS) at SPLASH 2015 is the premier forum for researchers and practitioners to share knowledge and research on dynamic languages, their implementation, and applications. The influence of dynamic languages – from Lisp to Smalltalk to Python to Javascript – on real-world practice and research continues to grow.

Submissions Due: 15 June, 2015
http://2015.splashcon.org/track/dls2015-papers

** OOPSLA Artifacts **
The Artifact Evaluation process is a service provided by the community to help authors of accepted papers provide more substantial supplements to their papers so future researchers can more effectively build on and compare with previous work. The Artifact Evaluation Committee has been formed to assess how well paper authors prepare artifacts in support of such future researchers. Roughly, authors of papers who wish to participate are invited to submit an artifact that supports the conclusions of the paper.

Submissions Due: 9 June, 2015
http://2015.splashcon.org/track/splash2015-artifacts

** Posters **
The SPLASH Poster track provides an excellent forum for authors to present their recent or ongoing projects in an interactive setting, and receive feedback from the community. We invite submissions covering any aspect of programming, systems, languages and applications. The goal of the poster session is to encourage and facilitate small groups of individuals interested in a technical area to gather and interact. It is held early in the conference, to promote continued discussion among interested parties. Posters can be independent presentations or associated with one of the other parts of SPLASH.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-posters

** SPLASH-E **
The SPLASH-E track brings together researchers and educators to share educational results, ideas, and challenges centered in Software and Programming Languages. Submission formats vary, including papers, tool demos, lightning talks, challenge-topics for discussion, and suggested themes for "unconference" sessions. Help us create an engaging forum for educational issues related to SPLASH!

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-splash-e

** Student Research Competition **
The ACM SIGPLAN Student Research Competition (ACM SRC) is an internationally-recognized venue that enables undergraduate and graduate students to experience the research world, share their research results with other students and SPLASH attendees. The competition has separate categories for undergraduate and graduate students and awards prizes to the top three students in each category. The ACM SIGPLAN Student Research Competition shares the Poster session’s goal to facilitate interaction with researchers and industry practitioners; providing both sides with the opportunity to learn of ongoing, current research.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-src

** Student Volunteers **
The SPLASH Student Volunteer program provides an opportunity for students from around the world to associate with some of the leading personalities in industry and research in the following areas: programming languages, object-oriented technology and software development. Student volunteers contribute to the smooth running of the conference by performing tasks such as: assisting with registration, providing information about the conference to attendees, assisting session organizers and monitoring sessions.

Submissions Due: 7 August, 2015
http://2015.splashcon.org/track/splash2015-sv

** Tutorials **
The SPLASH 2015 Tutorials programme will consist of prestigious tutorials on current topics in software, systems, and languages research. The scope of Tutorials is the same as the conference itself: all aspects of software construction and delivery at the intersection of programming, languages, and software engineering. Tutorials in particular focus on the nexus between research and practice, including work that takes inspiration from or builds connections to areas not commonly considered at SPLASH. Tutorials should introduce researchers to current research in an area, or show important new tools that can be used in research.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-tutorials

** Wavefront **
The SPLASH Wavefront track is looking for presentations and technology talks of interest to the software community, particularly to software professionals working in companies large and small. Wavefront is a forum for presenting experience reports and tutorials about innovative tools, technologies, and software practices.

Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-wavefront

** Workshops **
The SPLASH Workshops track will host a variety of high-quality workshops, allowing their participants to meet and discuss research questions with peers, to mature new and exciting ideas, and to build up communities and start new collaborations. SPLASH workshops complement the main tracks of the conference and provide meetings in a smaller and more specialized setting. Workshops cultivate new ideas and concepts for the future, optionally recorded in formal proceedings.

Late Phase Submissions Due: 30 June, 2015
http://2015.splashcon.org/track/splash2015-workshops

** Co-Located Events **

SLE - 8th International Conference on Software Language Engineering (SLE)
Submissions Due: 15 June, 2015
http://conf.researchr.org/home/sle2015

GPCE - 14th International Conference on Generative Programming: Concepts & Experiences (GPCE)
Submissions Due: 21 June, 2015
http://conf.researchr.org/home/gpce2015

DBPL - 15th Symposium on Database Programming Languages (DBPL)
Submissions Due: 15 June, 2015
http://conf.researchr.org/home/dbpl2015

PLoP - 22nd International Conference on Pattern Languages of Programming (PLoP)
Submissions Due: 12 May, 2015
http://www.hillside.net/plop/2015/

Information:
SPLASH Early Registration Deadline: 25 September, 2015
Contact: info@splashcon.org
Website: http://2015.splashcon.org

Location:
Sheraton Station Square Hotel
Pittsburgh, Pennsylvania, United States

Organization:
SPLASH General Chair: Jonathan Aldrich (Carnegie Mellon University)
OOPSLA Papers Chair: Patrick Eugster (Purdue University)
Onward! Papers Chair: Gail Murphy (University of British Columbia)
Onward! Essays Chair: Guy Steele (Oracle Labs)
DLS Papers Chair: Manuel Serrano (INRIA)
Artifacts Co-Chairs: Robby Findler (Northwestern University) and Michael Hind (IBM Research)
Demos Co-Chair: Igor Peshansky (Google) and Pietro Ferrara (IBM Research)
Doctoral Symposium Chair: Yu David Liu, State University of New York (SUNY) Binghamton
Local Arrangements Chair: Claire Le Goues (Carnegie Mellon University)
PLMW Workshop Co-Chairs: Darya Kurilova (Carnegie Mellon University) and Zachary Tatlock (University of Washington)
Posters Co-Chairs: Nick Sumner (Simon Fraser University)
Publications Chair: Alex Potanin (Victoria University of Wellington)
Publicity and Web Co-Chairs: Craig Anslow (University of Calgary) and Tijs van der Storm (CWI)
SPLASH-E Chair: Eli Tilevich (Virginia Tech)
SPLASH-I Co-Chairs: Tijs van der Storm (CWI) and Jan Vitek (Northeastern University)
Student Research Competition Co-Chairs: Sam Guyer (Tufts University) and Patrick Lam (University of Waterloo)
Student Volunteer Co-Chairs: Jonathan Bell (Columbia University) and Daco Harkes (TU Delft)
Sponsorship Chair: Tony Hosking (Purdue University)
Tutorials Co-Chair: Romain Robbes (University of Chile) and Ronald Garcia (University of British Columbia)
Video Chair: Michael Hilton (Oregon State University)
Videos Previews Czar: Thomas LaToza (University of California, Irvine)
Wavefront Co-Chairs: Dennis Mancl (Alcatel-Lucent) and Joe Kiniry (Galois)
Web Technology Chair: Eelco Visser (TU Delft)
Workshop Co-Chairs: Du Li (Carnegie Mellon University) and Jan Rellermeyer (IBM Research)
/************************************************************************************/

The single instruction compiler

The M/o/Vfuscator (short 'o', sounds like "mobfuscator") compiles programs into "mov" instructions, and only "mov" instructions. Arithmetic, comparisons, jumps, function calls, and everything else a program needs are all emulated through movs, and there is no SMC cheating. The compiler is inspired by the paper "mov is Turing-complete", by Stephen Dolan.

The original M/o/Vfuscator (M/o/Vfuscator 1.0) compiles programs from the esoteric language BrainF@$!, and is best used in conjunction with the BFBASIC compiler by Jeffry Johnston. M/o/Vfuscator 2.0 is a complete C compiler, and will be available soon.

M/o/Vfuscator

Strengthening Process Calculi

Mingsheng Ying: Topology in process calculus: approximate correctness and infinite evolution of concurrent programs.

Since process calculi come up now and then, I borrowed this book from the library and tried to read it. Cannot claim to have grokked it, but I was excited reading through the example applications toward the end of it. I (think I) am hoping this kind of work can find its way into the main-stream somehow, some day.

Communication and concurrency are essential in understanding complex dynamic systems, and there have been many theories to deal with them such as Petri nets, CSP and ACP. Among them, process calculus is one of the most important and mathematically developed models of communication and concurrency. Various behavior equivalences between agents, such as (strong and weak) bisimilarity, observation congruence, trace equivalence, testing equivalence and failure equivalence, are central notions in process calculus.

In the real applications of process calculus, specification and implementation are described as two agents, correctness of programs is treated as a certain behavior equivalence between specification and implementation, and then the proof of correctness of programs is a task to establish some behavior equivalence between them.

The goal of this book is to provide some suitable and useful concepts and tools for the understanding and analysis of approximate correctness of programs in concurrent systems. Throughout this book the focus is on the framework of process calculus, and the main idea is to construct some natural and reasonable topological structures which can reveal suitably a mechanism of approximate computation in process calculus and to work out various relationships among processes which are compatible with these topological structures.

Good syntax for single argument methods?

I'm looking for good non-brace syntax for a single argument method call. I can't use space since it is already taken for infix operations (e.g. x + y vs. draw circle(...)). I was thinking about using hash; e.g. draw#circle(....) where circle is a method that produces a circle shape to draw. Are there any better options that have been tried before?

As for why I don't just go with braces, I'm looking for a special syntax to capture "verb on what" in a way that can more easily be read left to right without nesting.

VISSOFT 2015 - Call for Papers: New Ideas or Emerging Results and Tool Demos

---------------------------------------
VISSOFT 2015 - Call for Papers: New Ideas or Emerging Results and Tool Demos

3rd IEEE Working Conference on Software Visualization (VISSOFT)
September 27-28, 2015, Bremen, Germany

Paper submission date: June 29, 2015
Notification: July 31, 2015

http://vissoft.info

Software visualization is a broad research area encompassing concepts, methods, tools, and techniques that assist in a range of software engineering and software development activities. Covered aspects include the development and evaluation of approaches for visually analyzing software and software systems, including their structure, execution behavior, and evolution.

The VISSOFT IEEE Working Conference on Software Visualization continues the history of the ACM SOFTVIS Symposium on Software Visualization and the IEEE VISSOFT International Workshop on Visualizing Software for Understanding and Analysis. The conference focuses on visualization techniques that target aspects of software maintenance and evolution, program comprehension, reverse engineering, and reengineering, i.e., how visualization helps professionals to understand, analyze, test and evolve software. We aim to gather tool developers, experts, users, and researchers from software engineering, information visualization, computer graphics, and human-computer interaction to discuss theoretical foundations, algorithms, techniques, tools, and applications related to software visualization.

Topics of interest include, but are not limited to:
* Innovative visualization and visual analytics techniques for software engineering data, such as,
- source code
- static and dynamic dependencies
- software evolution and repositories
- software documentation
- web services
- protocol, log, and performance data
- parallel techniques
- database schemes
- software security and privacy issues
- workflow and business processes
* Visualization to support program comprehension, software testing, and debugging
* Interaction techniques and algorithms for software visualization
* Visualization-based techniques in computer science and software engineering education
* Integration of software visualization tools and development environments
* Empirical evaluation of software visualization
* Industrial experience on using software visualization

VISSOFT features a New Ideas or Emerging Results (NIER) track and a Tool Demo track related to the list of topics suggested above. Papers are solicited that present original, unpublished research results and will be rigorously reviewed by an international program committee.

The NIER contributions (New Ideas and Emerging Results) describe work-in-progress and preliminary exciting results. Authors should include open questions and even provocative hypotheses to get early feedback on their research ideas or even support through new research collaborations.

Tool contributions describe the design or actual utilization of software visualization tools, with a focus on relevant tool construction aspects or the use of the tool for gaining new insights. Authors should be prepared to demonstrate their tool at the conference. The submission may also contain a link to a screencast (video).

All accepted submissions will appear in the conference proceedings and the IEEE Digital Library.

-== How to Submit ==-

Both types of papers have to be maximum 5 pages long (including bibliography and annexes).
Paper submission date: June 29, 2015 (previously: June 15, 2015)
Notification: July 31, 2015

Submissions must be submitted online via the VISSOFT 2015 EasyChair
conference management system at
https://easychair.org/conferences/?conf=vissoft2015

Please adhere to the formatting instruction published on the ICSME
website: http://www.icsme.uni-bremen.de/formatting.php

-== Organizing Committee ==-

General Chair:
Jürgen Doellner, Hasso-Plattner-Institut, Germany

Program Co-Chairs:
Fabian Beck, University of Stuttgart, Germany
Alexandre Bergel, University of Chile, Chile

NIER/Tool Co-Chairs:
Craig Anslow, Middlesex University, UK
Johan Fabry, University of Chile, Chile

NIER/Tool Program Committee:

Bilal Alsallakh TU Vienna, Austria
Jennifer Baldwin Swinburne University,Australia
Ivan Beschastnikh University of British Columbia, Canada
Usman Bhatti INRIA Lille / Synectique, France
Michael Burch University of Stuttgart, Germany
Andrei Chis Bern University, Switzerland
Neville Churcher University of Canterbury, New Zealand
Marcus Denker INRIA Lille, France
Coen De Roover Vrije Universiteit Brussel, Belgium
Jens Dietrich Massey University, New Zealand
Bogdan Dit Boise State University, US
Matthias Frisch Magdeburg University, Germany
Maria-Elena Froese University of Victoria, Canada
Michael Homer Victoria University of Wellington, New Zealand
James A. Jones University of California, Irvine, US
Adrian Kuhn AirBNB, US
Jannik Laval Ecole Des Mines de Douai, France
Paul Leger Universidad Catolica Del Norte, Chile
Andrea Mocci University of Lugano, Switzerland
Tim Molderez Vrije Universiteit Brussel, Belgium
Chris Parnin NC State University, US
Michael Perscheid HPI-Universtat Potsdam, Germany
David Roethlisberger Universidad Diego Portales, Chile
Christian Tominski University of Rostock, Germany
---------------------------------------

Symbol Flux: abstract visual debugging

http://symbolflux.com/projects/avd. Abstract:

Do you ever wish you could just see some table or tree (or graph, list or hashmap) while programming?

I want to be able to do that all the time, without having to work for it. So, I'm writing an 'abstract visual debugger' to that end, and this is what it looks like so far:

(https://youtu.be/NvfMthDInwE)

XKCD on type theory...

http://xkcd.com/1537/

Just thought people might find this amusing.

The hell of this is I can tell exactly which languages he's making fun of in almost 75% of those lines.

Edit: I would use the "embedding url" with an html tag containing

img=http://imgs.xkcd.com/comics/types.png

but LTU refuses to display it.

Functors are Type Refinement Systems

Functors are Type Refinement Systems
Paul-André Melliès and Noam Zeilberger
POPL 2015

The standard reading of type theory through the lens of category theory is based on the idea of viewing a type system as a category of well-typed terms. We propose a basic revision of this reading: rather than interpreting type systems as categories, we describe them as functors from a category of typing derivations to a category of underlying terms. Then, turning this around, we explain how in fact any functor gives rise to a generalized type system, with an abstract notion of typing judgment, typing derivations and typing rules. This leads to a purely categorical reformulation of various natural classes of type systems as natural classes of functors.

The main purpose of this paper is to describe the general framework (which can also be seen as providing a categorical analysis of refinement types), and to present a few applications. As a larger case study, we revisit Reynolds' paper on "The Meaning of Types" (2000), showing how the paper’s main results may be reconstructed along these lines.

This paper was quite a joy to read. The proposed framework feels simple yet penetrating, with convincing examples of elementary categorical constructions translating to non-trivial type system features. According to the second author, it is only the first in a series, with a much more advanced second one already available as a draft on the arXiv; I hope that this develops into a useful foundational setting for programming languages.

Structuring F# Programs with Abstract Data Types [Presentation on Vimeo]

I'm hoping this presentation about structuring functional programs could generate some interesting discussion here :) I gave this talk at the New York City F# meetup not too long ago.

Synopsis: A question many people who are new to functional programming ask is, "what does a functional program look like?" Of course, they're not asking about the appearance of individual functions. Instead they are asking what the structure of a functional program should look like, in the abstract. And further, how to go about building one. This talk presents a powerful, composable, and general means of building well-structured functional programs, specifically in F#. Presented is a singular, simple functional 'design pattern' that can be applied recursively to architect principled F# programs. Like any pattern, it's applicability is not total. However, for those looking start architecting beautiful functional programs, frameworks, and engines in F#, this is a great first approach to consider.

Check it out here.

Slides and examples are also available here.

XML feed