Powered by
2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH Companion 2015),
October 25–30, 2015,
Pittsburgh, PA, USA
Posters
Shiranui: A Live Programming with Support for Unit Testing
Tomoki Imai,
Hidehiko Masuhara , and Tomoyuki Aotani
(Tokyo Institute of Technology, Japan)
Live programming environments help the programmers to try out expressions by giving immediate feedback on the results as well as intermediate evaluation processes. However, the feedback is transient, and its correctness is merely confirmed by the programmers' manual inspection. We seamlessly integrate live programming with unit testing by proposing novel features (1) that converts a lively-tested expression into a unit test case, and (2) that extracts a unit test case from an execution trace of a lively-tested expression. In this poster, we overview Shiranui, our live programming environment, and present the proposed features implemented in Shiranui.
@InProceedings{SPLASH Companion15p36,
author = {Tomoki Imai and Hidehiko Masuhara and Tomoyuki Aotani},
title = {Shiranui: A Live Programming with Support for Unit Testing},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {36--37},
doi = {},
year = {2015},
}
Exploiting Parallelism in Mobile Devices
Arghya Chatterjee, Timothy Newton, Tom Roush, Hunter Tidwell, and Vivek Sarkar
(Rice University, USA)
The computational heart of modern mobile devices such as smartphones, tablets, and wearables is a powerful system-on-chip (SoC) with rich parallelism and heterogeneity. While the hardware parallelism of these mobile systems continues to increase year-over-year, they remain resource constrained with respect to power consumption and thermal dissipation. Efficient use of multi-core processors in mobile devices is a key requirement for improving performance, while staying within the power and thermal limits of mobile devices.
@InProceedings{SPLASH Companion15p38,
author = {Arghya Chatterjee and Timothy Newton and Tom Roush and Hunter Tidwell and Vivek Sarkar},
title = {Exploiting Parallelism in Mobile Devices},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {38--39},
doi = {},
year = {2015},
}
Video
ModeSens: An Approach for Multi-modal Mobile Sensing
Ahmed Abdel Moamen and Nadeem Jamali
(University of Saskatchewan, Canada)
The growing ubiquity of personal connected devices has created the opportunity for a range of applications which tap into their sensors. The sensing requirements of applications often dynamically evolve over time depending on contextual factors, evolving interest in different types of data, or simply to economize resource consumption. The code implementing this evolution is typically mixed with that of the application's functionality. Here we separate the two concerns by modeling the evolution of sensing requirements as transitions between modes. The paper describes ModeSens, an approach to modeling and programming multi-modal sensing requirements of applications. The approach improves programmability by enhancing modularity. Our experimental evaluation measures the performance and energy costs of using ModeSens.
@InProceedings{SPLASH Companion15p40,
author = {Ahmed Abdel Moamen and Nadeem Jamali},
title = {ModeSens: An Approach for Multi-modal Mobile Sensing},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {40--41},
doi = {},
year = {2015},
}
Towards Transitory Encapsulation
Sebastian Fleissner
(Australian National University, Australia)
Encapsulation and information hiding are essential and fundamental to object-oriented and aspect-oriented programming languages. These principles ensure that one part of a program does not depend on assumptions on the internal structure and logic of other parts of the program. While this assumption allows for clearly defined modules, interfaces and interaction protocols when software is initially developed, it is possible that rigid encapsulation causes problems, such as brittleness, as software changes and evolves over time. We suggest that, just as the strength of type systems have relaxed over time, perhaps structural boundaries could, too be relaxed. Perhaps there could be a new kind of flexible encapsulation: one that allows non-permanent and flexible boundaries between program parts.
@InProceedings{SPLASH Companion15p42,
author = {Sebastian Fleissner},
title = {Towards Transitory Encapsulation},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {42--43},
doi = {},
year = {2015},
}
Statik: An Incremental Compiler Generator
Michael Biggs
(Broadway Technology, USA)
This paper introduces “statik”, a C++ software library for automatically generating fully-incremental compilers. Given a grammar for any phase of a compilation process (e.g. lexer, parser, code-generator), the library provides a top-down chart parser that accepts incremental changes to a linked-list of input for that compilation phase, and emits the corresponding changes as a linked-list of output. The output of one phase can be chained as input to another, so that a whole compiler can be constructed as a pipeline of an arbitrary number of compilation phases. This can be used as an incremental mapping between character-by-character edits anywhere in an input source file through to the resulting changes in the compiled object code, with minimal recomputation of intermediary state. Statik is released as Free software, and is available under the GPLv3+ license at http://statik.rocks.
@InProceedings{SPLASH Companion15p44,
author = {Michael Biggs},
title = {Statik: An Incremental Compiler Generator},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {44--45},
doi = {},
year = {2015},
}
Toward Incremental Type Checking for Java
Edlira Kuci, Sebastian Erdweg, and Mira Mezini
(TU Darmstadt, Germany)
A type system is a set of type rules and with respect to these type rules a type checker has an important role to ensure that programs exhibit a desired behavior. We consider Java type rules and extend the co-contextual formulation of type rules introduced in [1] to enable it for Java. Regarding the extension type rules result is a type, a set of context requirements and a set of class requirements. Since context and class requirements are propagated bottom-up and while traversing the syntax tree bottom-up and are merged from independent subexpression, this enables the type system to be incremental therefore the performance is increased.
@InProceedings{SPLASH Companion15p46,
author = {Edlira Kuci and Sebastian Erdweg and Mira Mezini},
title = {Toward Incremental Type Checking for Java},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {46--47},
doi = {},
year = {2015},
}
Pyrlang: A High Performance Erlang Virtual Machine Based on RPython
Ruochen Huang,
Hidehiko Masuhara , and Tomoyuki Aotani
(Tokyo Institute of Technology, Japan)
In widely-used actor-based programming languages, such as Erlang, sequential execution performance is as important as scalability of concurrency. We are developing a virtual machine called Pyrlang for the Erlang BEAM bytecode with a just-in-time (JIT) compiler. By using RPython’s tracing JIT compiler, our preliminary evaluation showed approximately twice speedup over the standard Erlang interpreter. In this poster, we overview the design of Pyrlang and the tech- niques to apply RPython’s tracing JIT compiler to BEAM bytecode programs written in the Erlang’s functional style of programming.
@InProceedings{SPLASH Companion15p48,
author = {Ruochen Huang and Hidehiko Masuhara and Tomoyuki Aotani},
title = {Pyrlang: A High Performance Erlang Virtual Machine Based on RPython},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {48--49},
doi = {},
year = {2015},
}
Conf.Researchr.Org: Towards a Domain-Specific Content Management System for Managing Large Conference Websites
Elmer van Chastelet, Eelco Visser, and Craig Anslow
(Delft University of Technology, Netherlands; Middlesex University, UK)
Federated conferences such as SPLASH are complex organizations composed of many parts (co-located conferences, symposia, and workshops), and are put together by many different people and committees. Developing the website for such a conference requires a considerable effort, and is often reinvented for each edition of a conference using software that provides little to no support for the domain. In this paper, we give a high-level overview of the design of Conf.Researchr.Org, a domain-specific content management system developed to support the production of large conference web sites, which is being used for the federated conferences of ACM SIGPLAN.
@InProceedings{SPLASH Companion15p50,
author = {Elmer van Chastelet and Eelco Visser and Craig Anslow},
title = {Conf.Researchr.Org: Towards a Domain-Specific Content Management System for Managing Large Conference Websites},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {50--51},
doi = {},
year = {2015},
}
Evaluating Work Distribution Patterns for Parallel Bitmap Compression over SMPs
Ben McCamish, Xinghui Zhao, David Chiu, Jason Sawin, and Guadalupe Canahuate
(Oregon State University, USA; Washington State University, USA; University of Puget Sound, USA; University of St. Thomas, USA; University of Iowa, USA)
Bitmap indices are popular in managing large-scale data, but their size quickly grows out-of-core without compression. At the same time, Moore's enables a proliferation of machines with parallel architectures, letting users exploit symmetric multiprocessors (SMP) for common tasks. In this poster, we evaluate two widely used parallel work distribution models for parallelizing bitmap compression.
@InProceedings{SPLASH Companion15p52,
author = {Ben McCamish and Xinghui Zhao and David Chiu and Jason Sawin and Guadalupe Canahuate},
title = {Evaluating Work Distribution Patterns for Parallel Bitmap Compression over SMPs},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {52--53},
doi = {},
year = {2015},
}
Spotter: Towards a Unified Search Interface in IDEs
Aliaksei Syrel, Andrei Chiş, Tudor Gîrba,
Juraj Kubelka,
Oscar Nierstrasz, and Stefan Reichhart
(University of Bern, Switzerland; tudorgirba.com, Switzerland; University of Chile, Chile)
Program comprehension requires developers to reason about many kinds of highly interconnected software entities. Dealing with this reality prompts developers to continuously intertwine searching and navigation. Nevertheless, most integrated development environments (IDEs) address searching by means of many disconnected search tools, making it difficult for developers to reuse search results produced by one search tool as input for another search tool. This forces developers to spend considerable time manually linking disconnected search results. To address this issue we propose Spotter, a model for expressing and combining search tools in a unified way. The current implementation shows that Spotter can unify a wide range of search tools. More information about Spotter can be found at scg.unibe.ch/research/moldablespotter.
@InProceedings{SPLASH Companion15p54,
author = {Aliaksei Syrel and Andrei Chiş and Tudor Gîrba and Juraj Kubelka and Oscar Nierstrasz and Stefan Reichhart},
title = {Spotter: Towards a Unified Search Interface in IDEs},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {54--55},
doi = {},
year = {2015},
}
Info
Toward a Java Based Infrastructure for Unmanned Aerial Vehicles
Yu David Liu and Lukasz Ziarek
(SUNY Binghamton, USA; SUNY Buffalo, USA)
Unmanned Aerial Vehicles (UAVs) have recently emerged as a promising platform for civilian tasks and public interests, such as merchandise delivery, traffic control, news reporting, natural disaster management, mobile social networks, and Internet connectivity in third-world countries.
Looking forward, the exciting potential of UAVs is accompanied with significant hurdles that call for broad and concerted interdisciplinary research, with diverse focuses on real-time system design, energy efficiency, safety and security, programmability, robotics and mechanical design, among others. This poster proposes an open-source and extensible software infrastructure for UAVs.
@InProceedings{SPLASH Companion15p56,
author = {Yu David Liu and Lukasz Ziarek},
title = {Toward a Java Based Infrastructure for Unmanned Aerial Vehicles},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {56--57},
doi = {},
year = {2015},
}
Porting the NetBeans Java 8 Enhanced for Loop Lambda Expression Refactoring to Eclipse
Md. Arefin and Raffi Khatchadourian
(City University of New York, USA)
Java 8 is one of the largest upgrades to the popular language and framework in over a decade. However, the Eclipse IDE is missing several key refactorings that could help developers take advantage of new features in Java 8 more easily. In this paper, we discuss our ongoing work in porting the enhanced for loop to lambda expression refactoring from the NetBeans IDE to Eclipse. We also discuss future plans for new Java 8 refactorings not found in any current IDE.
@InProceedings{SPLASH Companion15p58,
author = {Md. Arefin and Raffi Khatchadourian},
title = {Porting the NetBeans Java 8 Enhanced for Loop Lambda Expression Refactoring to Eclipse},
booktitle = {Proc.\ SPLASH Companion},
publisher = {ACM},
pages = {58--59},
doi = {},
year = {2015},
}
Info
proc time: 1.16