首页 > 最新文献

SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software最新文献

英文 中文
The serious game: wemakewords 严肃的游戏:我们造词
Ruth Demmel, B. Köhler, Stephan Krusche, Ludwig Schubert
We suggest digital serious games as a means to create individualized learning environments that train social skills in parallel to the content. In cooperation with a child psychology practice we developed the collaborative and adaptive serious game weMakeWords as a prove of concept. The game teaches children how to read in a fun and approachable way, while adjusting itself to the chidren's need. In first preliminary evaluations the concept has been highly successful concerning the leaning outcome as well as in fostering collaboration between children.
我们建议将数字严肃游戏作为创造个性化学习环境的一种手段,在学习内容的同时训练社交技能。在与儿童心理学实践的合作中,我们开发了一个协作和适应性的严肃游戏weMakeWords作为概念的证明。游戏以一种有趣和平易近人的方式教孩子们如何阅读,同时根据孩子们的需要进行调整。在最初的初步评估中,这个概念在学习结果和促进儿童之间的合作方面非常成功。
{"title":"The serious game: wemakewords","authors":"Ruth Demmel, B. Köhler, Stephan Krusche, Ludwig Schubert","doi":"10.1145/2048237.2048253","DOIUrl":"https://doi.org/10.1145/2048237.2048253","url":null,"abstract":"We suggest digital serious games as a means to create individualized learning environments that train social skills in parallel to the content. In cooperation with a child psychology practice we developed the collaborative and adaptive serious game weMakeWords as a prove of concept. The game teaches children how to read in a fun and approachable way, while adjusting itself to the chidren's need. In first preliminary evaluations the concept has been highly successful concerning the leaning outcome as well as in fostering collaboration between children.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117194429","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}
引用次数: 8
What makes a programming language popular?: an essay from a historical perspective 是什么让一门编程语言流行起来?一篇从历史角度出发的文章
M. Derk
Among the thousands of programming languages available, some languages become extremely popular, while others, thought to be superior in many ways, languish. This essay explores this situation from a historical perspective.
在数千种可用的编程语言中,有些语言变得非常流行,而另一些被认为在许多方面都很优秀的语言却日渐式微。本文从历史的角度探讨了这一情况。
{"title":"What makes a programming language popular?: an essay from a historical perspective","authors":"M. Derk","doi":"10.1145/2089131.2089139","DOIUrl":"https://doi.org/10.1145/2089131.2089139","url":null,"abstract":"Among the thousands of programming languages available, some languages become extremely popular, while others, thought to be superior in many ways, languish. This essay explores this situation from a historical perspective.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126941504","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}
引用次数: 3
2nd workshop on free composition (FREECO) 第二场自由合成工作坊(FREECO)
Christoph Bockisch, L. Bergmans, D. Wampler
The history of programming languages shows a continuous search for new composition mechanisms, which are better suited for structuring increasingly complex software systems into modules that can be developed and reused independently. Well-known examples are procedure calls, object aggregation, function composition, inheritance, delegation, mix-ins, aspects, andsoforth. Composition mechanisms can address various forms of composition of objects or components at the level of their behavior or interactions, e.g., by design patterns, contracts or explicit protocols. They can be general-purpose, but there is also a wide variety of domain-specific compositions, which are applicable for certain categories of applications. However, most languages adopt a very small and fixed set of composition mechanisms, usually with explicit notation and predefined semantics. If a language does not provide any mechanisms with the required compositional behavior, programmers need to write workarounds in the application program, which typically have a negative impact on the quality of the software. Alternatively they may introduce the new composition mechanisms through macros, libraries, frameworks or language extensions, which also negatively affects the application if it is not well-integrated with the application program. In this workshop we want to investigate composition techniques that are “free” in the sense that they are not fixed and limited by specific language or system designs. Instead we intend to explore the notion that languages should not offer a limited set of fixed composition mechanisms, but allow for flexibility, a wide variety of compositions, domain-specific and tailored compositions, or programmable compositions of various program artifacts. Examples of topics targeted by this workshop include, but are not limited to:
编程语言的历史显示了对新的组合机制的不断探索,这些机制更适合于将日益复杂的软件系统构建为可以独立开发和重用的模块。众所周知的例子有过程调用、对象聚合、函数组合、继承、委托、混合、方面等等。组合机制可以处理对象或组件在其行为或交互级别上的各种形式的组合,例如,通过设计模式、契约或显式协议。它们可以是通用的,但也有各种特定于领域的组合,它们适用于某些类别的应用程序。然而,大多数语言采用一组非常小而固定的组合机制,通常带有显式符号和预定义语义。如果一种语言没有提供任何机制来实现所需的组合行为,程序员就需要在应用程序中编写变通方法,这通常会对软件的质量产生负面影响。或者,他们可以通过宏、库、框架或语言扩展引入新的组合机制,如果没有很好地与应用程序集成,这也会对应用程序产生负面影响。在这个研讨会中,我们想要研究“自由”的组合技术,因为它们不受特定语言或系统设计的固定和限制。相反,我们打算探索这样一个概念,即语言不应该提供一组有限的固定组合机制,而是允许灵活性、广泛的组合、特定于领域和定制的组合,或者各种程序工件的可编程组合。本次研讨会的主题包括但不限于:
{"title":"2nd workshop on free composition (FREECO)","authors":"Christoph Bockisch, L. Bergmans, D. Wampler","doi":"10.1145/2048237.2048257","DOIUrl":"https://doi.org/10.1145/2048237.2048257","url":null,"abstract":"The history of programming languages shows a continuous search for new composition mechanisms, which are better suited for structuring increasingly complex software systems into modules that can be developed and reused independently. Well-known examples are procedure calls, object aggregation, function composition, inheritance, delegation, mix-ins, aspects, andsoforth. Composition mechanisms can address various forms of composition of objects or components at the level of their behavior or interactions, e.g., by design patterns, contracts or explicit protocols. They can be general-purpose, but there is also a wide variety of domain-specific compositions, which are applicable for certain categories of applications. However, most languages adopt a very small and fixed set of composition mechanisms, usually with explicit notation and predefined semantics. If a language does not provide any mechanisms with the required compositional behavior, programmers need to write workarounds in the application program, which typically have a negative impact on the quality of the software. Alternatively they may introduce the new composition mechanisms through macros, libraries, frameworks or language extensions, which also negatively affects the application if it is not well-integrated with the application program. In this workshop we want to investigate composition techniques that are “free” in the sense that they are not fixed and limited by specific language or system designs. Instead we intend to explore the notion that languages should not offer a limited set of fixed composition mechanisms, but allow for flexibility, a wide variety of compositions, domain-specific and tailored compositions, or programmable compositions of various program artifacts. Examples of topics targeted by this workshop include, but are not limited to:","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128857970","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
TouchDevelop: programming cloud-connected mobile devices via touchscreen TouchDevelop:通过触摸屏编程云连接的移动设备
N. Tillmann, Michal Moskal, J. D. Halleux, Manuel Fähndrich
The world is experiencing a technology shift. In 2011, more touchscreen-based mobile devices like smartphones and tablets will be sold than desktops, laptops, and netbooks combined. In fact, in many cases incredibly powerful and easy-to-use smart phones are going to be the first and, in less developed countries, possibly the only computing devices which virtually all people will own, and carry with them at all times. Furthermore, mobile devices do not only have touchscreens, but they are also equipped with a multitude of sensors, such as location information and acceleration, and they are always connected to the cloud. TouchDevelop is a novel application creation environment for anyone to script their smartphones anywhere -- you do not need a separate PC. TouchDevelop allows you to develop mobile device applications that can access your data, your media, your sensors and allows using cloud services including storage, computing, and social networks. TouchDevelop targets students, and hobbyists, not necessarily the professional developer. Typical TouchDevelop applications are written for fun, or for personalizing the phone. TouchDevelop's typed, structured programming language is built around the idea of only using a touchscreen as the input device to author code. It has built-in primitives which make it easy to access the rich sensor data available on a mobile device. In our vision, the state of the program is automatically distributed between mobile clients and the cloud, with automatic synchronization of data and execution between clients and cloud, liberating the programmer from worrying (or even having to know about) the details. We report on our experience with our first prototype implementation for the Windows Phone 7 platform, which already realizes a large portion of our vision. It is available on the Windows Phone Marketplace.
世界正在经历一场技术变革。2011年,智能手机和平板电脑等触摸屏移动设备的销量将超过台式机、笔记本电脑和上网本的总和。事实上,在许多情况下,功能强大且易于使用的智能手机将成为第一种,在欠发达国家,可能是唯一一种几乎所有人都拥有并随时随身携带的计算设备。此外,移动设备不仅有触摸屏,而且还配备了许多传感器,如位置信息和加速度,而且它们始终与云连接。TouchDevelop是一种新颖的应用程序创建环境,任何人都可以在任何地方编写他们的智能手机脚本-您不需要单独的PC。TouchDevelop允许您开发可以访问您的数据、媒体、传感器的移动设备应用程序,并允许使用云服务,包括存储、计算和社交网络。TouchDevelop针对的是学生和业余爱好者,不一定是专业开发人员。典型的TouchDevelop应用程序是为了好玩或个性化手机而编写的。TouchDevelop的类型化、结构化编程语言是围绕着仅使用触摸屏作为编写代码的输入设备的理念而构建的。它具有内置的原语,可以轻松访问移动设备上可用的丰富传感器数据。在我们的愿景中,程序的状态在移动客户端和云之间自动分布,在客户端和云之间自动同步数据和执行,将程序员从担心(甚至不得不知道)细节中解放出来。我们在此报告我们在Windows Phone 7平台上的首个原型执行的经验,它已经实现了我们的大部分愿景。它可以在Windows Phone Marketplace上获得。
{"title":"TouchDevelop: programming cloud-connected mobile devices via touchscreen","authors":"N. Tillmann, Michal Moskal, J. D. Halleux, Manuel Fähndrich","doi":"10.1145/2048237.2048245","DOIUrl":"https://doi.org/10.1145/2048237.2048245","url":null,"abstract":"The world is experiencing a technology shift. In 2011, more touchscreen-based mobile devices like smartphones and tablets will be sold than desktops, laptops, and netbooks combined. In fact, in many cases incredibly powerful and easy-to-use smart phones are going to be the first and, in less developed countries, possibly the only computing devices which virtually all people will own, and carry with them at all times. Furthermore, mobile devices do not only have touchscreens, but they are also equipped with a multitude of sensors, such as location information and acceleration, and they are always connected to the cloud. TouchDevelop is a novel application creation environment for anyone to script their smartphones anywhere -- you do not need a separate PC. TouchDevelop allows you to develop mobile device applications that can access your data, your media, your sensors and allows using cloud services including storage, computing, and social networks. TouchDevelop targets students, and hobbyists, not necessarily the professional developer. Typical TouchDevelop applications are written for fun, or for personalizing the phone.\u0000 TouchDevelop's typed, structured programming language is built around the idea of only using a touchscreen as the input device to author code. It has built-in primitives which make it easy to access the rich sensor data available on a mobile device. In our vision, the state of the program is automatically distributed between mobile clients and the cloud, with automatic synchronization of data and execution between clients and cloud, liberating the programmer from worrying (or even having to know about) the details. We report on our experience with our first prototype implementation for the Windows Phone 7 platform, which already realizes a large portion of our vision. It is available on the Windows Phone Marketplace.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"183 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117083598","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}
引用次数: 110
Evolution of Mobile Software Development from Platform-Specific to Web-Based Multiplatform Paradigm 移动软件开发从特定平台到基于web的多平台范式的演变
Luis Corral, A. Sillitti, G. Succi, A. Garibbo, Paolo Ramella
In this paper, we outline a projection on the trend of using web technologies for creating end-user applications in mobile devices. Following a paradigm shift in the software industry, from only-binary applications to dynamic web applications, mobile web development tools evolve to offer an integral native solution that allows to simplify the soft-ware process and broad its scope to a true, single cross-platform development effort. Soon, mobile web development tools will be preferred by designers and programmers thanks to their versatility, economy and usefulness, less dependent on specific platforms and SDKs, while fully functional and reliable in comparison to their binary counterparts.
在本文中,我们概述了在移动设备中使用web技术创建最终用户应用程序的趋势。随着软件行业的范式转变,从纯二进制应用程序到动态web应用程序,移动web开发工具不断发展,提供了一个完整的本地解决方案,允许简化软件过程,并将其范围扩大到真正的单一跨平台开发工作。很快,移动web开发工具将成为设计师和程序员的首选,因为它们具有通用性、经济性和实用性,对特定平台和sdk的依赖较少,与二进制工具相比,功能齐全、可靠。
{"title":"Evolution of Mobile Software Development from Platform-Specific to Web-Based Multiplatform Paradigm","authors":"Luis Corral, A. Sillitti, G. Succi, A. Garibbo, Paolo Ramella","doi":"10.1145/2048237.2157457","DOIUrl":"https://doi.org/10.1145/2048237.2157457","url":null,"abstract":"In this paper, we outline a projection on the trend of using web technologies for creating end-user applications in mobile devices. Following a paradigm shift in the software industry, from only-binary applications to dynamic web applications, mobile web development tools evolve to offer an integral native solution that allows to simplify the soft-ware process and broad its scope to a true, single cross-platform development effort. Soon, mobile web development tools will be preferred by designers and programmers thanks to their versatility, economy and usefulness, less dependent on specific platforms and SDKs, while fully functional and reliable in comparison to their binary counterparts.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122941511","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}
引用次数: 69
Automatic performance programming 自动性能编程
Markus Püschel
It has become extraordinarily difficult to write software that performs close to optimally on complex modern microarchitectures. Particularly plagued are domains that are data intensive and require complex mathematical computations such as information retrieval, scientific simulations, graphics, communication, control, and multimedia processing. In these domains, performance-critical components are usually written in C (with possible extensions) and often even in assembly, carefully "tuned" to the platform's architecture and microarchitecture. Specifically, the tuning includes optimization for the memory hierarchy and for different forms of parallelism. The result is usually long, rather unreadable code that needs to be re-written or re-tuned with every platform upgrade. On the other hand, the performance penalty for relying on straightforward, non-tuned, more elegant implementations is typically a factor of 10, 100, or even more. The reasons for this large gap are some (likely) inherent limitations of compilers including the lack of domain knowledge, and the lack of an efficient mechanism to explore the usually large set of transformation choices. The recent end of CPU frequency scaling, and thus the end of free software speed-up, and the advent of mainstream parallelism with its increasing diversity of platforms further aggravate the problem. No promising general solution (besides extensive and expensive hand-coding) to this problem is on the horizon. One approach that has emerged from the numerical computing and compiler community in the last decade is called automatic performance tuning, or autotuning [2, 3, 7--10, 15]. In its most common form it involves the consideration or enumeration of alternative implementations, usually controlled by parameters, coupled with algorithms for search to find the fastest. However, the search space still has to be identified manually, it may be very different even for related functionality, it is not clear how to handle parallelism, and a new platform may require a complete redesign of the autotuning framework. On the other hand, since the overall problem is one of productivity, maintainability, and quality (namely performance) it falls squarely into the domain of software engineering. However, even though a large set of sophisticated software engineering theory and tools exist, it appears that to date this community has not focused much on mathematical computations nor performance in the detailed, close-to-optimal sense above. The reason for the latter may be that performance, unlike various aspects of correctness, is not syntactic in nature (and in reality is often even unpredictable and, well, messy). The aim of this talk is to draw attention to the performance/productivity problem for mathematical applications and to make the case for a more interdisciplinary attack. As a set of thoughts in this direction we offer some of the lessons we have learned in the last decade in our own research on Spiral [1,
在复杂的现代微架构上编写性能接近最佳的软件已经变得异常困难。特别困扰的是数据密集型和需要复杂数学计算的领域,如信息检索、科学模拟、图形、通信、控制和多媒体处理。在这些领域中,性能关键型组件通常是用C语言编写的(可能有扩展),甚至通常是用汇编语言编写的,仔细地根据平台的体系结构和微体系结构进行“调优”。具体来说,调优包括对内存层次结构和不同形式的并行性的优化。其结果通常是冗长且难以阅读的代码,每次平台升级都需要重新编写或重新调整。另一方面,依赖于直接的、未经调优的、更优雅的实现的性能损失通常是10倍、100倍,甚至更多。造成这种巨大差距的原因(可能)是编译器的一些固有限制,包括缺乏领域知识,以及缺乏有效的机制来探索通常较大的转换选择集。最近CPU频率缩放的结束,以及免费软件加速的结束,以及随着平台多样性的增加而出现的主流并行进一步加剧了这个问题。目前还没有解决这个问题的通用解决方案(除了大量且昂贵的手工编码)。在过去十年中,数值计算和编译器社区出现了一种方法,称为自动性能调优,或自动调优[2,3,7—10,15]。在其最常见的形式中,它涉及考虑或枚举替代实现,通常由参数控制,再加上搜索算法以找到最快的实现。然而,搜索空间仍然需要手动识别,即使对于相关的功能,也可能会有很大的不同,如何处理并行性还不清楚,新的平台可能需要完全重新设计自动调优框架。另一方面,由于整体问题是生产力、可维护性和质量(即性能)问题之一,因此它完全属于软件工程领域。然而,尽管存在大量复杂的软件工程理论和工具,但迄今为止,这个社区似乎并没有过多地关注数学计算,也没有关注上述详细的、接近最优的性能。后者的原因可能是,与正确性的各个方面不同,性能在本质上不是语法性的(实际上甚至经常是不可预测的,嗯,混乱的)。这次演讲的目的是引起人们对数学应用程序的性能/生产力问题的关注,并为跨学科的攻击提供理由。作为这一方向的一系列想法,我们提供了我们在过去十年中自己对Spiral[1,11,12]的研究中学到的一些经验教训。螺旋可以看作是一个小而重要的线性变换函数类的自动性能编程框架。螺旋中使用的关键技术包括阶段性声明性领域特定语言来表达算法知识和算法转换,使用平台认知重写系统进行并行性和局部性优化,以及使用搜索和机器学习技术来导航可能的选择空间[4- 6,13,14,16]。实验结果表明,螺旋生成的代码与最好的人类编写的代码竞争,有时甚至优于它们。螺旋已用于生成英特尔的商业库IPP和MKL的一部分。
{"title":"Automatic performance programming","authors":"Markus Püschel","doi":"10.1145/2048237.2048239","DOIUrl":"https://doi.org/10.1145/2048237.2048239","url":null,"abstract":"It has become extraordinarily difficult to write software that performs close to optimally on complex modern microarchitectures. Particularly plagued are domains that are data intensive and require complex mathematical computations such as information retrieval, scientific simulations, graphics, communication, control, and multimedia processing. In these domains, performance-critical components are usually written in C (with possible extensions) and often even in assembly, carefully \"tuned\" to the platform's architecture and microarchitecture. Specifically, the tuning includes optimization for the memory hierarchy and for different forms of parallelism. The result is usually long, rather unreadable code that needs to be re-written or re-tuned with every platform upgrade. On the other hand, the performance penalty for relying on straightforward, non-tuned, more elegant implementations is typically a factor of 10, 100, or even more. The reasons for this large gap are some (likely) inherent limitations of compilers including the lack of domain knowledge, and the lack of an efficient mechanism to explore the usually large set of transformation choices. The recent end of CPU frequency scaling, and thus the end of free software speed-up, and the advent of mainstream parallelism with its increasing diversity of platforms further aggravate the problem.\u0000 No promising general solution (besides extensive and expensive hand-coding) to this problem is on the horizon. One approach that has emerged from the numerical computing and compiler community in the last decade is called automatic performance tuning, or autotuning [2, 3, 7--10, 15]. In its most common form it involves the consideration or enumeration of alternative implementations, usually controlled by parameters, coupled with algorithms for search to find the fastest. However, the search space still has to be identified manually, it may be very different even for related functionality, it is not clear how to handle parallelism, and a new platform may require a complete redesign of the autotuning framework.\u0000 On the other hand, since the overall problem is one of productivity, maintainability, and quality (namely performance) it falls squarely into the domain of software engineering. However, even though a large set of sophisticated software engineering theory and tools exist, it appears that to date this community has not focused much on mathematical computations nor performance in the detailed, close-to-optimal sense above. The reason for the latter may be that performance, unlike various aspects of correctness, is not syntactic in nature (and in reality is often even unpredictable and, well, messy).\u0000 The aim of this talk is to draw attention to the performance/productivity problem for mathematical applications and to make the case for a more interdisciplinary attack. As a set of thoughts in this direction we offer some of the lessons we have learned in the last decade in our own research on Spiral [1,","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121493146","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
A literate experimentation manifesto 文学实验宣言
Jeremy Singer
This paper proposes a new approach to experimental computer systems research, which we call Literate Experimentation. Conventionally, experimental procedure and writeup are divided into distinct phases: i.e. setup (the method), data collection (the results) and analysis (the evaluation of the results). Our concept of a literate experiment is to have a single, rich, human-generated, text-based description of a particular experiment, from which can be automatically derived: (1) a summary of the experimental setup to include in the paper; (2) a sequence of executable commands to setup a computer platform ready to perform the actual experiment; (3) the experiment itself, executed on this appropriately configured platform; and, (4) a means of generating results tables and graphs from the experimental output, ready for inclusion in the paper. Our Literate Experimentation style has largely been inspired by Knuth's Literate Programming philosophy. Effectively, a literate experiment is a small step towards the executable paper panacea. In this work, we argue that a literate experimentation approach makes it easier to produce rigorous experimental evaluation papers. We suggest that such papers are more likely to be accepted for publication, due to (a) the imposed uniformity of structure, and (b) the assurance that experimental results are easily reproducible. We present a case study of a prototype literate experiment involving memory management in Jikes RVM.
本文提出了一种新的计算机系统实验研究方法,我们称之为识字实验。通常,实验过程和实验记录分为不同的阶段:即设置(方法),数据收集(结果)和分析(结果的评价)。我们对文学实验的概念是对一个特定的实验有一个单一的、丰富的、人工生成的、基于文本的描述,从中可以自动导出:(1)实验设置的总结,包括在论文中;(2)一系列可执行的命令,以建立准备进行实际实验的计算机平台;(3)实验本身,在这个适当配置的平台上进行;(4)从实验输出中生成结果表格和图表的方法,准备纳入本文。我们的文学实验风格很大程度上受到了Knuth的文学编程哲学的启发。实际上,一次文字实验是迈向可执行的纸上灵丹妙药的一小步。在这项工作中,我们认为,一个识字的实验方法可以更容易地产生严格的实验评估论文。我们认为这样的论文更有可能被接受发表,因为(a)结构的一致性,以及(b)实验结果容易重复的保证。我们提出了一个涉及Jikes RVM内存管理的原型读写实验的案例研究。
{"title":"A literate experimentation manifesto","authors":"Jeremy Singer","doi":"10.1145/2048237.2048249","DOIUrl":"https://doi.org/10.1145/2048237.2048249","url":null,"abstract":"This paper proposes a new approach to experimental computer systems research, which we call Literate Experimentation. Conventionally, experimental procedure and writeup are divided into distinct phases: i.e. setup (the method), data collection (the results) and analysis (the evaluation of the results). Our concept of a literate experiment is to have a single, rich, human-generated, text-based description of a particular experiment, from which can be automatically derived: (1) a summary of the experimental setup to include in the paper; (2) a sequence of executable commands to setup a computer platform ready to perform the actual experiment; (3) the experiment itself, executed on this appropriately configured platform; and, (4) a means of generating results tables and graphs from the experimental output, ready for inclusion in the paper.\u0000 Our Literate Experimentation style has largely been inspired by Knuth's Literate Programming philosophy. Effectively, a literate experiment is a small step towards the executable paper panacea. In this work, we argue that a literate experimentation approach makes it easier to produce rigorous experimental evaluation papers. We suggest that such papers are more likely to be accepted for publication, due to (a) the imposed uniformity of structure, and (b) the assurance that experimental results are easily reproducible. We present a case study of a prototype literate experiment involving memory management in Jikes RVM.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134019962","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
Example embedding 例子中嵌入
Ohad Barzilay
Using code examples in professional software development is like teenage sex. Those who say they do it all the time are probably lying. Although it is natural, those who do it feel guilty. Finally, once they start doing it, they are often not too concerned with safety, they discover that it is going to take a while to get really good at it, and they realize they will have to come up with a bunch of new ways of doing it before they really figure it all out.
在专业软件开发中使用代码示例就像青少年的性行为。那些说自己经常这样做的人很可能在撒谎。虽然这是很自然的,但做这件事的人会感到内疚。最后,一旦他们开始这样做,他们通常不太关心安全,他们发现要真正擅长它需要一段时间,他们意识到他们必须想出一堆新的方法来做,然后他们真正弄清楚这一切。
{"title":"Example embedding","authors":"Ohad Barzilay","doi":"10.1145/2089131.2089135","DOIUrl":"https://doi.org/10.1145/2089131.2089135","url":null,"abstract":"Using code examples in professional software development is like teenage sex. Those who say they do it all the time are probably lying. Although it is natural, those who do it feel guilty. Finally, once they start doing it, they are often not too concerned with safety, they discover that it is going to take a while to get really good at it, and they realize they will have to come up with a bunch of new ways of doing it before they really figure it all out.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125175498","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}
引用次数: 8
The tradeoffs of societal computing 社会计算的权衡
Swapneel Sheth, G. Kaiser
As Social Computing has increasingly captivated the general public, it has become a popular research area for computer scientists. Social Computing research focuses on online social behavior and using artifacts derived from it for providing recommendations and other useful community knowledge. Unfortunately, some of that behavior and knowledge incur societal costs, particularly with regards to Privacy, which is viewed quite differently by different populations as well as regulated differently in different locales. But clever technical solutions to those challenges may impose additional societal costs, e.g., by consuming substantial resources at odds with Green Computing, another major area of societal concern. We propose a new crosscutting research area, Societal Computing, that focuses on the technical tradeoffs among computational models and application domains that raise significant societal issues. We highlight some of the relevant research topics and open problems that we foresee in Societal Computing. We feel that these topics, and Societal Computing in general, need to gain prominence as they will provide useful avenues of research leading to increasing benefits for society as a whole.
随着社会计算越来越吸引大众,它已成为计算机科学家的热门研究领域。社会计算研究的重点是在线社会行为,并使用从中衍生的工件来提供建议和其他有用的社区知识。不幸的是,其中一些行为和知识会产生社会成本,特别是在隐私方面,不同的人群对隐私的看法截然不同,不同的地区对隐私的监管也不同。但是,应对这些挑战的聪明的技术解决方案可能会带来额外的社会成本,例如,消耗与绿色计算(另一个社会关注的主要领域)不一致的大量资源。我们提出了一个新的横切研究领域,社会计算,它侧重于计算模型和引起重大社会问题的应用领域之间的技术权衡。我们强调一些相关的研究课题和开放的问题,我们预见在社会计算。我们认为这些主题,以及一般的社会计算,需要获得突出,因为它们将提供有用的研究途径,从而为整个社会带来更多的利益。
{"title":"The tradeoffs of societal computing","authors":"Swapneel Sheth, G. Kaiser","doi":"10.1145/2089131.2089137","DOIUrl":"https://doi.org/10.1145/2089131.2089137","url":null,"abstract":"As Social Computing has increasingly captivated the general public, it has become a popular research area for computer scientists. Social Computing research focuses on online social behavior and using artifacts derived from it for providing recommendations and other useful community knowledge. Unfortunately, some of that behavior and knowledge incur societal costs, particularly with regards to Privacy, which is viewed quite differently by different populations as well as regulated differently in different locales. But clever technical solutions to those challenges may impose additional societal costs, e.g., by consuming substantial resources at odds with Green Computing, another major area of societal concern. We propose a new crosscutting research area, Societal Computing, that focuses on the technical tradeoffs among computational models and application domains that raise significant societal issues. We highlight some of the relevant research topics and open problems that we foresee in Societal Computing. We feel that these topics, and Societal Computing in general, need to gain prominence as they will provide useful avenues of research leading to increasing benefits for society as a whole.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134536356","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
The accessibility toolkit 可访问性工具包
Halimat I. Alabi, B. Gooch
We propose the creation of a repository of inclusive mobile application design tools and techniques. The repository will be based on existing and future research in the realm of accessibility and initially only available to academic researchers developing user studies. These developers may browse tool features based on operating system, ease of implementation, modality and range of user ability within each particular modality. To educate developers, the toolkit will utilize user personas for each modality that exemplify how users might use the features in the repository. The proposed framework will make it easier for developers to accomplish their tasks, potentially making academic user studies and focus groups more inclusive to those with disabilities. This toolkit is not a one-size fits all solution, but rather a guide and repository of best mobile accessibility practices in the absence of an international standard. It represents one solution to a multifaceted problem that extends beyond the academic environment.
我们建议创建一个包含移动应用程序设计工具和技术的存储库。该资源库将基于可访问性领域现有和未来的研究,最初仅供进行用户研究的学术研究人员使用。这些开发人员可能会根据操作系统、实现的容易程度、模式和每个特定模式内的用户能力范围来浏览工具特性。为了教育开发人员,该工具包将为每种模式利用用户角色,以举例说明用户如何使用存储库中的特性。拟议的框架将使开发人员更容易完成他们的任务,有可能使学术用户研究和焦点小组更包容残疾人。该工具包不是一个放之四海而皆准的解决方案,而是在缺乏国际标准的情况下提供的最佳移动可访问性实践指南和存储库。它代表了一个超越学术环境的多方面问题的解决方案。
{"title":"The accessibility toolkit","authors":"Halimat I. Alabi, B. Gooch","doi":"10.1145/2089131.2089136","DOIUrl":"https://doi.org/10.1145/2089131.2089136","url":null,"abstract":"We propose the creation of a repository of inclusive mobile application design tools and techniques. The repository will be based on existing and future research in the realm of accessibility and initially only available to academic researchers developing user studies. These developers may browse tool features based on operating system, ease of implementation, modality and range of user ability within each particular modality. To educate developers, the toolkit will utilize user personas for each modality that exemplify how users might use the features in the repository.\u0000 The proposed framework will make it easier for developers to accomplish their tasks, potentially making academic user studies and focus groups more inclusive to those with disabilities. This toolkit is not a one-size fits all solution, but rather a guide and repository of best mobile accessibility practices in the absence of an international standard. It represents one solution to a multifaceted problem that extends beyond the academic environment.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121972257","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}
引用次数: 9
期刊
SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1