Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming最新文献

筛选
英文 中文
Programming is Writing is Programming 编程就是编程,写作就是编程
F. Hermans, Marlies Aldewereld
{"title":"Programming is Writing is Programming","authors":"F. Hermans, Marlies Aldewereld","doi":"10.1145/3079368.3079413","DOIUrl":"https://doi.org/10.1145/3079368.3079413","url":null,"abstract":"Writing and programming are often seen as different: writing a creative profession, programming a technical one. Below the surface however, there is one striking similarity: both writing and programming can be described as the translation of a high-level idea into low level sentences or statements. This paper compares writing and programming and uncovers similarities between some of the steps commonly considered part of the writing and programming workflows, such as information gathering and selection. We however also observe differences, like the attention that writers spent on formatting and styling, and the opportunity for feedback that programmers have by compiling and executing programs. We close the paper with a discussion of the impact of this finding, including educational methods that programming could take from writing education.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130019621","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
Automatic Reuse through Implied Methods: The Design and Implementation of an Abstraction Mechanism for Implied Interfaces 通过隐含方法实现自动重用:隐含接口抽象机制的设计与实现
Patrick Rein
{"title":"Automatic Reuse through Implied Methods: The Design and Implementation of an Abstraction Mechanism for Implied Interfaces","authors":"Patrick Rein","doi":"10.1145/3079368.3079371","DOIUrl":"https://doi.org/10.1145/3079368.3079371","url":null,"abstract":"","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134565306","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
What Can Software Learn From Hypermedia? 软件能从超媒体中学到什么?
Philip Tchernavskij, C. Klokmose, M. Beaudouin-Lafon
{"title":"What Can Software Learn From Hypermedia?","authors":"Philip Tchernavskij, C. Klokmose, M. Beaudouin-Lafon","doi":"10.1145/3079368.3079408","DOIUrl":"https://doi.org/10.1145/3079368.3079408","url":null,"abstract":"Most of our interactions with the digital world are mediated by apps: desktop, web, or mobile applications. Apps impose artificial limitations on collaboration among users, distribution across devices, and the changing procedures that constantly occur in real work. These limitations are partially due to the engineering principles of encapsulation and program-data separation. By contrast, the field of hypermedia envisions collaboration, distribution and flexible practices as fundamental features of software. We discuss shareable dynamic media, an alternative model for software that unifies hypermedia and interactive systems, and Webstrates, an experimental implementation of that model. We give examples of patterns and challenges for software architecture that have emerged in our experimentation with Webstrates, and show that it subverts the principles of encapsulation and program-data separation.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129716332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Kóμπoς: A Platform for Debugging Complex Concurrent Applications Kóμπoς:一个调试复杂并发应用程序的平台
Stefan Marr, Carmen Torres Lopez, Dominik Aumayr, E. G. Boix, H. Mössenböck
{"title":"Kóμπoς: A Platform for Debugging Complex Concurrent Applications","authors":"Stefan Marr, Carmen Torres Lopez, Dominik Aumayr, E. G. Boix, H. Mössenböck","doi":"10.1145/3079368.3079378","DOIUrl":"https://doi.org/10.1145/3079368.3079378","url":null,"abstract":"This is an abstract for Demo at the Programming Conference.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122250136","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Weaving Rules into Models@run.time for Embedded Smart Systems 嵌入式智能系统的Models@run.time规则编织
Ludovic Mouline, Thomas Hartmann, François Fouquet, Yves Le Traon, Johann Bourcier, Olivier Barais
{"title":"Weaving Rules into Models@run.time for Embedded Smart Systems","authors":"Ludovic Mouline, Thomas Hartmann, François Fouquet, Yves Le Traon, Johann Bourcier, Olivier Barais","doi":"10.1145/3079368.3079394","DOIUrl":"https://doi.org/10.1145/3079368.3079394","url":null,"abstract":"Smart systems are characterised by their ability to analyse measured data in live and to react to changes according to expert rules. Therefore, such systems exploit appropriate data models together with actions, triggered by domain-related conditions. The challenge at hand is that smart systems usually need to process thousands of updates to detect which rules need to be triggered, often even on restricted hardware like a Raspberry Pi. Despite various approaches have been investigated to efficiently check conditions on data models, they either assume to fit into main memory or rely on high latency persistence storage systems that severely damage the reactivity of smart systems. To tackle this challenge, we propose a novel composition process, which weaves executable rules into a data model with lazy loading abilities. We quantitatively show, on a smart building case study, that our approach can handle, at low latency, big sets of rules on top of large-scale data models on restricted hardware.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"83 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123814499","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Unanticipated Debugging with Dynamic Layers 意想不到的调试动态层
Steven Costiou, Mickaël Kerboeuf, M. Denker, A. Plantec
{"title":"Unanticipated Debugging with Dynamic Layers","authors":"Steven Costiou, Mickaël Kerboeuf, M. Denker, A. Plantec","doi":"10.1145/3079368.3079391","DOIUrl":"https://doi.org/10.1145/3079368.3079391","url":null,"abstract":"To debug running software we need unanticipated adaptation capabilities, especially when systems cannot be stopped, updated and restarted. Adapting such programs at runtime is an extreme solution given the delicate live contexts the debugging activity takes place. We introduce the Dynamic Layer, a construct in which behavioral variations are gathered and activated as a whole set of adaptations. Dimensions of Dynamic Layers activation are reified to allow very fine definitions of layer scopes and a fine grained selection of adapted entities. This paper describes and discusses the Dynamic Layer solution to perform unanticipated runtime debugging. An experimental implementation with the Pharo language is evaluated through a runtime adaptation example.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115696227","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Managing the Context Interaction Problem: A Classification and Design Space of Conflict Resolution Techniques in Dynamically Adaptive Software Systems 管理上下文交互问题:动态自适应软件系统中冲突解决技术的分类和设计空间
K. Mens, Benoît Duhoux, Nicolás Cardozo
{"title":"Managing the Context Interaction Problem: A Classification and Design Space of Conflict Resolution Techniques in Dynamically Adaptive Software Systems","authors":"K. Mens, Benoît Duhoux, Nicolás Cardozo","doi":"10.1145/3079368.3079385","DOIUrl":"https://doi.org/10.1145/3079368.3079385","url":null,"abstract":"The context interaction problem occurs in dynamically adaptive software systems whenever adaptations to different contexts provide incompatible behaviour, as they were not foreseen to occur simultaneously. Several strategies have been proposed to resolve such conflicts when they occur. This paper surveys a number of such conflict resolution strategies, and proposes a design space in which to classify, compare, and explain the differences between them.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"371 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123485536","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Application Embedding: From Fish Tank to Axiom 应用嵌入:从鱼缸到公理
D. Lorenz, Boaz Rosenan
{"title":"Application Embedding: From Fish Tank to Axiom","authors":"D. Lorenz, Boaz Rosenan","doi":"10.1145/3079368.3079380","DOIUrl":"https://doi.org/10.1145/3079368.3079380","url":null,"abstract":"Application embedding is a technique for developing web applications. It divides the implementation of an application to two artifacts: (1) a host application -- a platform that is agnostic of any particular application, and (2) the application's definition -- a declarative specification one particular application. In this demo we demonstrate application embedding by building a small application on an application platform named Axiom.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129290017","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Back-In-Time Evaluation: Towards Online Trace-Based Debugging 回溯时间评估:走向基于在线跟踪的调试
S. Schulz
{"title":"Back-In-Time Evaluation: Towards Online Trace-Based Debugging","authors":"S. Schulz","doi":"10.1145/3079368.3079373","DOIUrl":"https://doi.org/10.1145/3079368.3079373","url":null,"abstract":"When encountering bugs in applications, online debuggers allow developers to set breakpoints where they assume the symptoms [8]. They work through the code, evaluating different expressions, setting new breakpoints, and restarting the application, until they locate possible causes. Debugging in this fashion becomes difficult when facing bugs without obvious causes. Stealth bugs [3], for instance, consume their own evidence, making them particularly difficult to solve. To be effective in these cases, debuggers should allow debugging back-in-time by stepping backwards through the execution from a bug’s symptom. Online debuggers do not support this feature though, since they operate on live application states. Omniscient debugging [7, 9] addresses this issue by recording executions. All events of a run are recorded and stored to a trace. Utilizing this trace, debuggers can recreate every state after the run, allowing to freely step through the execution. However, due to the vast number of events occurring during application executions, storing the traces efficiently becomes challenging and thus scalability is an issue. Omniscient debuggers can handle traces containing up to 10 events, and slow execution down by a factor of at least 20, when limiting the tracing scope, up to a factor of 252, for full tracing [9]. Performance depends on the traced application and the implementation of the debugger.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127870980","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Live Data Structure Programming 实时数据结构编程
Akio Oka, H. Masuhara, Tomoki Imai, Tomoyuki Aotani
{"title":"Live Data Structure Programming","authors":"Akio Oka, H. Masuhara, Tomoki Imai, Tomoyuki Aotani","doi":"10.1145/3079368.3079400","DOIUrl":"https://doi.org/10.1145/3079368.3079400","url":null,"abstract":"When we write a program that manipulates data structures, we often draw and manipulate a visual image of the structures in our mind. In order to immediately connect those mental images with the data objects created by the program, we propose a live programming environment, called Kanon, specialized for data structure programming. It automatically executes a program being edited, and draws objects and their mutual references as a node-link diagram. In order to visualize information relevant to the programmer's concern, it offers two visualization modes based on the cursor position in the editor. It also offers two interactive mechanisms that relate elements in the program to elements on the diagram, and vice versa. The implementation includes a novel technique for mental map preservation of visual diagrams.","PeriodicalId":233641,"journal":{"name":"Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132153359","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信