Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleApril 2018
An API and visual environment to use neural network to reason about source code
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 117–120https://doi.org/10.1145/3191697.3214340Neural networks are gaining popularity in software engineering. This paper presents a dedicated API and visual environment to train and use a neural networks on software source code related data. This short paper illustrates the API using two examples ...
- research-articleApril 2018
Lector in Codigo or the role of the reader
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 180–186https://doi.org/10.1145/3191697.3214326In this article I want to explore the relation between the process of writing computer programs with that of writing literary works of fiction. I want to see what parallels can we trace from the ideas presented by Umberto Eco in Lector in Fabula and Six ...
- research-articleApril 2018
Critique of ‘files as directories: some thoughts on accessing structured data within files’ (2)
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 175–179https://doi.org/10.1145/3191697.3214325In this critique I argue that the motivations and direction of the `files as directories' idea are sound, but the conceptual difficulties are considerable yet non-obvious, and are not limited to those identified by the author. I highlight a selection of ...
- research-articleApril 2018
Files as directories: some thoughts on accessing structured data within files
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 166–170https://doi.org/10.1145/3191697.3214323This paper explores the concept of files as directories (FAD) as a unified interface to structured data within a file by representing such a file as (virtual) directory and the structured data as subdirectories and subfiles. Transparent conversion of ...
- research-articleApril 2018
Applying aspect-oriented change realization in the mobile application domain
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 87–92https://doi.org/10.1145/3191697.3213806Aspect-oriented programming makes possible to express changes in a modular way directly at the level of programming language constructs. This is particularly useful in situations that require explicit change manipulation, such as change reapplication to ...
- research-articleApril 2018
Managing hybrid memories by predicting object write intensity
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 75–80https://doi.org/10.1145/3191697.3213803Emerging Non-Volatile Memory (NVM) technologies offer more capacity and energy efficiency than DRAM, but their write endurance is lower and latency is higher. Hybrid memories seek the best of both worlds — scalability, efficiency, and performance — by ...
- extended-abstractApril 2018
A soup of objects: convenience interfaces for accessing domain objects in a global object graph
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 236–238https://doi.org/10.1145/3191697.3213799Conventional desktop systems, such as Microsoft Windows or MacOS, are structured around applications. From a technical perspective the domain objects, such as emails or tasks, are contained within these applications. This separation of object graphs ...
- extended-abstractApril 2018
Mining concepts from code using community detection in co-occurrence graphs
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 232–233https://doi.org/10.1145/3191697.3213797Software modularity is a quality that determines how fluently individual parts (modules) of a system can vary and be understood if taken by themselves. However, modularity tends to degrade during program evolution – old concepts may get entangled with ...
- extended-abstractApril 2018
Sandboxed execution of C and other unsafe languages on the Java virtual machine
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 227–229https://doi.org/10.1145/3191697.3213795Sulong is a system that tackles buffer overflows and other low-level errors in languages like C by automatically checking them and aborting execution if an error is detected. Supporting unstandardized elements such as inline assembly and compiler ...
- extended-abstractApril 2018
Towards practical heterogeneous virtual machines
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 46–48https://doi.org/10.1145/3191697.3191730Heterogeneous computing has emerged as a means to achieve high performance and energy efficiency. Naturally, this trend has been accompanied by changes in software development norms that do not necessarily favor programmers. A prime example is the two ...
- extended-abstractApril 2018
On the future of research VMs: a hardware/software perspective
- Foivos S. Zakkak,
- Andy Nisbet,
- John Mawer,
- Tim Hartley,
- Nikos Foutris,
- Orion Papadakis,
- Andreas Andronikakis,
- Iain Apreotesei,
- Christos Kotselidis
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 51–53https://doi.org/10.1145/3191697.3191729In the recent years, we have witnessed an explosion of the usages of Virtual Machines (VMs) which are currently found in desktops, smartphones, and cloud deployments. These recent developments create new research opportunities in the VM domain extending ...
- extended-abstractApril 2018
The inevitable death of VMs: a progress report
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 61–62https://doi.org/10.1145/3191697.3191728Language virtual machines (VMs), as implementation artifacts, are characterised by hard boundaries which limit their conduciveness to language interoperability, whole-system tooling, and other interactions with the `world outside'. Since the VM paradigm ...
- extended-abstractApril 2018
Sulong, and thanks for all the fish
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 58–60https://doi.org/10.1145/3191697.3191726Dynamic languages rely on native extensions written in languages such as C/C++ or Fortran. To efficiently support the execution of native extensions in the multi-lingual GraalVM, we have implemented Sulong, which executes LLVM IR to support all ...
- extended-abstractApril 2018
Understanding task granularity on the JVM: profiling, analysis, and optimization
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 54–56https://doi.org/10.1145/3191697.3191724Task granularity, i.e., the amount of work performed by parallel tasks, is a key performance attribute of parallel applications. On the one hand, fine-grained tasks (i.e., small tasks carrying out few computations) may introduce considerable ...