Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity最新文献

筛选
英文 中文
Dictionary-based query recommendation for local code search 基于字典的本地代码搜索查询推荐
Xi Ge
{"title":"Dictionary-based query recommendation for local code search","authors":"Xi Ge","doi":"10.1145/2508075.2522609","DOIUrl":"https://doi.org/10.1145/2508075.2522609","url":null,"abstract":"Local code search tools help developers efficiently find code snippets in the code base under development. The quality of the retrieved code largely depends on the quality of queries provided by developers. Manually synthesizing high-quality queries is a non-trivial task, partially because it places a cognitive burden on developers by requiring them memorize words used in the code base under search. To help developers synthesize better queries, this paper proposes a recommendation technique called MultiD that uses multiple dictionaries. We also report an ongoing study to evaluate the effectiveness of MultiD.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116905668","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
Hardware and software support for fine-grained memory access control and encapsulation in C++ 硬件和软件支持细粒度内存访问控制和封装在c++中
Eugen Leontie, Gedare Bloom, R. Simha
{"title":"Hardware and software support for fine-grained memory access control and encapsulation in C++","authors":"Eugen Leontie, Gedare Bloom, R. Simha","doi":"10.1145/2508075.2508091","DOIUrl":"https://doi.org/10.1145/2508075.2508091","url":null,"abstract":"Object-oriented programming (OOP) encapsulates object implementations with access specifiers like public and private. Compilers can verify that code adheres to specifiers, but verification can be broken in languages like C++ by unchecked pointers. Thus, C++ programmers are taught that \"private is not secure.\" The lack of isolation between objects frustrates memory protection in OOP code. We propose hardware and software support to confine memory accesses in fine-grained memory regions that isolate within and between objects so that C++ programs can enforce encapsulation and prevent pointer-based exploits. Such support makes private secure. Although we target C++, our approach handles generic techniques like inheritance, polymorphism, dynamic dispatch, dynamic binding, and encapsulation.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115258413","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
Declarative programming for the cloud 面向云的声明式编程
M. Aref
{"title":"Declarative programming for the cloud","authors":"M. Aref","doi":"10.1145/2508075.2508190","DOIUrl":"https://doi.org/10.1145/2508075.2508190","url":null,"abstract":"I will present the LogicBlox database and describe business applications that use it. The LogicBlox database marries declarative programming (logic-based specifications) with cloud deployment over large datasets. The database is programmed with a variant of the Datalog programming language. The flexibility of declarative programming allows us to integrate both traditional business application development and \"probabilistic\" applications: machine-learning or search-based solutions, as required by the domain. Our approach aims to eliminate the distance between prototyping and deployed, high-performance implementations. I will discuss real customer applications and actual deployment instances that elastically adapt to several thousands of machines.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124124987","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
Effective use of non-blocking data structures in a deduplication application 在重复数据删除应用程序中有效地使用非阻塞数据结构
S. Feldman, Akshatha Bhat, P. Laborde, Qing Yi, D. Dechev
{"title":"Effective use of non-blocking data structures in a deduplication application","authors":"S. Feldman, Akshatha Bhat, P. Laborde, Qing Yi, D. Dechev","doi":"10.1145/2508075.2508431","DOIUrl":"https://doi.org/10.1145/2508075.2508431","url":null,"abstract":"Efficient multicore programming demands fundamental data structures that support a high degree of concurrency. Existing research on non-blocking data structures promises to satisfy such demands by providing progress guarantees that allow a significant increase in parallelism while avoiding the safety hazards of lock-based synchronizations. It is well-acknowledged that the use of non-blocking containers can bring significant performance benefits to applications where the shared data experience heavy contention. However, the practical implications of integrating these data structures in real-world applications are not well-understood. In this paper, we study the effective use of non-blocking data structures in a data deduplication application which performs a large number of concurrent compression operations on a data stream using the pipeline parallel processing model. We present our experience of manually refactoring the application from using conventional lock-based synchronization mechanisms to using a wait-free hash map and a set of lock-free queues to boost the degree of concurrency of the application. Our experimental study explores the performance trade-offs of parallelization mechanisms that rely on a) traditional blocking techniques, b) fine-grained mutual exclusion, and c) lock-free and wait-free synchronization.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131208650","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}
引用次数: 12
Do language constructs for concurrent execution have impact on energy efficiency? 用于并发执行的语言结构对能源效率有影响吗?
G. Pinto
{"title":"Do language constructs for concurrent execution have impact on energy efficiency?","authors":"G. Pinto","doi":"10.1145/2508075.2514880","DOIUrl":"https://doi.org/10.1145/2508075.2514880","url":null,"abstract":"This study analyzed the performance and energy consumption of multicore applications, using three techniques to manage concurrent execution in a set of benchmarks. We conclude that these constructs can heavily impact on energy consumption. Nonetheless, the trade-off between performance and energy consumption in multicore applications is not so obvious.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127242547","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 yin and yang of hardware heterogeneity: can software survive? 硬件异构的阴阳:软件能生存吗?
K. McKinley
{"title":"The yin and yang of hardware heterogeneity: can software survive?","authors":"K. McKinley","doi":"10.1145/2508075.2508188","DOIUrl":"https://doi.org/10.1145/2508075.2508188","url":null,"abstract":"Power and energy constraints are now the driving force in devices from smartphones to servers. Quantitative power, performance, and energy measurements suggest that hardware heterogeneity to match software diversity has the potential to deliver energy efficiency. However, programmingheterogeneous hardware directly is a nightmare. We discuss some approaches and results that abstract, choose, and exploit hardware heterogeneity. New programming and system abstractions are essential for establishing a parallel heterogeneous ecosystem in the post-Dennard era.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"68 7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126094588","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
Panini: a capsule-oriented programming language for implicitly concurrent program design 一种面向胶囊的编程语言,用于隐式并发程序设计
Eric Lin, Hridesh Rajan
{"title":"Panini: a capsule-oriented programming language for implicitly concurrent program design","authors":"Eric Lin, Hridesh Rajan","doi":"10.1145/2508075.2514573","DOIUrl":"https://doi.org/10.1145/2508075.2514573","url":null,"abstract":"This demonstration will present Panini, a new programming language designed with an objective to help programmers with concurrent programming. Current abstractions for concurrency fall into two categories: explicit abstractions for concurrency such as threads, and implicit abstractions for concurrency such as actors.Explicit concurrency abstractions are hard to use, reason about, and error prone. Implicit abstractions like actors help solve these problems, but they require programmers to adapt to the asynchronous style of programming. Many programmers find this adaptation hard. We will demonstrate the notion of capsules in Panini. A capsule is an implicit abstraction for concurrency that has many properties of actors, but provides a logically synchronous programming model to programmers. Main technical challenge in realizing capsules was to maximize concurrency while minimizing overhead and abstracting away all the details of concurrency from the Panini programmer. We will also demonstrate scalability benefits of Panini programs without writing a single line of explicitly parallel code, and compile-time checking of concurrency-related properties such as confinement violation, and sequential consistency.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126326814","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
Open pattern matching for C++ c++的开放模式匹配
Yuriy Solodkyy, G. D. Reis, B. Stroustrup
{"title":"Open pattern matching for C++","authors":"Yuriy Solodkyy, G. D. Reis, B. Stroustrup","doi":"10.1145/2508075.2508098","DOIUrl":"https://doi.org/10.1145/2508075.2508098","url":null,"abstract":"Pattern matching is an abstraction mechanism that can greatly simplify source code. We present functional-style pattern matching for C++ implemented as a library, called Mach7. All the patterns are user-definable, can be stored in variables, passed among functions, and allow the use of open class hierarchies. As an example, we implement common patterns used in functional languages.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126849128","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}
引用次数: 12
Concurrent object-oriented programming with agents 带有代理的并发面向对象编程
A. Ricci, Andrea Santi
{"title":"Concurrent object-oriented programming with agents","authors":"A. Ricci, Andrea Santi","doi":"10.1145/2508075.2508095","DOIUrl":"https://doi.org/10.1145/2508075.2508095","url":null,"abstract":"ALOO is a novel approach to Concurrent Object-Oriented Programming, integrating plain old objects with concurrency through the adoption of agent-oriented first-class abstractions.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127897901","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
Automated assessment of students' testing skills for improving correctness of their code 自动评估学生的测试技能,以提高他们代码的正确性
Z. Shams
{"title":"Automated assessment of students' testing skills for improving correctness of their code","authors":"Z. Shams","doi":"10.1145/2508075.2508078","DOIUrl":"https://doi.org/10.1145/2508075.2508078","url":null,"abstract":"Although software testing is included as a regular part of many programming courses, current assessment techniques used in automated grading tools for evaluating student-written software tests are imperfect. Code coverage measures are typically used in practice, but that approach does not assess how much of the expected behavior is checked by the tests and sometimes, overestimates the true quality of the tests. Two robust and thorough measures for evaluating student-written tests are running each students' tests against others' solutions(known as all-pairs testing) and injecting artificial bugs to determine if tests can detect them (also known as mutation analysis). Even though they are better indicators of test quality, both of them posed a number of practical obstacles to classroom use. This proposal describes technical obstacles behind using these two approaches in automated grading. We propose novel and practical solutions to apply all-pairs testing and mutation analysis of student-written tests, especially in the context of classroom grading tools. Experimental results of applying our techniques in eight CS1 and CS2 assignments submitted by 147 students show the feasibility of our solution. Finally, we discuss our plan to combine the approaches to evaluate tests of assignments having variable amounts of design freedom and explain their evaluation method.","PeriodicalId":430425,"journal":{"name":"Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121284908","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
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学术官方微信
小红书