首页 > 最新文献

ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity最新文献

英文 中文
MobileDeli'14 workshop: welcome message of the chairs MobileDeli’14工作坊:主席欢迎辞
Aharon Abadi, Danny Dig, E. Tilevich
Mobile application usage and development is experiencing exponential growth. According to Gartner, by 2016 more than 300 billion applications will be downloaded annually. The mobile domain presents new challenges to software engineering. Mobile platforms are rapidly changing, including diverse capabilities as GPS, sensors, and input modes. Applications must be omni-channel and work on all platforms. Activated on mobile platforms, modern applications must be elastic and scale on demand according to the hardware abilities. Applications often need to support and use third-party services. Therefore, during development, security and authorization processes for the dataflow must be applied. Bring your own device (BYOD) policies bring new security data leaks challenges. Developing such applications requires suitable practices and tools e.g., architecture techniques that relate to the complexity at hand; improved refactoring tools for hybrid applications using dynamic languages and polyglot development and applications; and testing techniques for applications that run on different devices. This workshop aims at establishing a community of researchers and practitioners to share their work and lead further research in the mobile software engineering. The workshop has several goals. First, we want to develop relationships to create a vibrant research community in the area of mobile software development. Second, we want to identify the most important research problems for mobile software development.
移动应用程序的使用和开发正在经历指数级增长。据高德纳(Gartner)称,到2016年,每年将有超过3000亿的应用程序被下载。移动领域对软件工程提出了新的挑战。移动平台正在迅速变化,包括GPS、传感器和输入模式等多种功能。应用程序必须是全渠道的,并且可以在所有平台上运行。在移动平台上激活的现代应用程序必须具有弹性,并根据硬件能力按需扩展。应用程序通常需要支持和使用第三方服务。因此,在开发过程中,必须应用数据流的安全和授权流程。自带设备(BYOD)策略带来了新的安全数据泄露挑战。开发这样的应用程序需要合适的实践和工具,例如,与手头的复杂性相关的架构技术;改进了使用动态语言和多语言开发和应用程序的混合应用程序重构工具;以及在不同设备上运行的应用程序的测试技术。本次研讨会旨在建立一个由研究人员和实践者组成的社区,分享他们的工作,并在移动软件工程方面引领进一步的研究。研讨会有几个目标。首先,我们希望发展关系,在移动软件开发领域创建一个充满活力的研究社区。其次,我们想要确定移动软件开发中最重要的研究问题。
{"title":"MobileDeli'14 workshop: welcome message of the chairs","authors":"Aharon Abadi, Danny Dig, E. Tilevich","doi":"10.1145/2660252.2662142","DOIUrl":"https://doi.org/10.1145/2660252.2662142","url":null,"abstract":"Mobile application usage and development is experiencing exponential growth. According to Gartner, by 2016 more than 300 billion applications will be downloaded annually. The mobile domain presents new challenges to software engineering. Mobile platforms are rapidly changing, including diverse capabilities as GPS, sensors, and input modes. Applications must be omni-channel and work on all platforms. Activated on mobile platforms, modern applications must be elastic and scale on demand according to the hardware abilities. Applications often need to support and use third-party services. Therefore, during development, security and authorization processes for the dataflow must be applied. Bring your own device (BYOD) policies bring new security data leaks challenges. Developing such applications requires suitable practices and tools e.g., architecture techniques that relate to the complexity at hand; improved refactoring tools for hybrid applications using dynamic languages and polyglot development and applications; and testing techniques for applications that run on different devices. This workshop aims at establishing a community of researchers and practitioners to share their work and lead further research in the mobile software engineering. The workshop has several goals. First, we want to develop relationships to create a vibrant research community in the area of mobile software development. Second, we want to identify the most important research problems for mobile software development.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"143 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134005165","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
Enhancing conformance checking for contract-based programs 加强基于合同的程序的一致性检查
Alysson Milanez, T. Massoni, Rohit Gheyi
In this work we present a test-based approach for detecting and categorizing nonconformances in contract-based programs, in specific for the Java Modeling Language (JML).
在这项工作中,我们提出了一种基于测试的方法,用于检测和分类基于契约的程序中的不一致性,特别是针对Java建模语言(JML)。
{"title":"Enhancing conformance checking for contract-based programs","authors":"Alysson Milanez, T. Massoni, Rohit Gheyi","doi":"10.1145/2660252.2660396","DOIUrl":"https://doi.org/10.1145/2660252.2660396","url":null,"abstract":"In this work we present a test-based approach for detecting and categorizing nonconformances in contract-based programs, in specific for the Java Modeling Language (JML).","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121819558","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
Pocket code: a scratch-like integrated development environment for your phone Pocket code:为您的手机提供的集成开发环境
W. Slany
In our free open source project Catrobat, we are developing Pocket Code, an integrated development environment (IDE) for a visual, Lego-block style programming language that is inspired by MIT's Scratch. In contrast to Scratch and AppInventor, Pocket Code is designed to completely run on smartphones -- no PC whatsoever is needed to develop or execute the programs. Our motivation is to allow teenagers to intuitively create and easily share their own mobile apps. The large project includes more than 20 subprojects that complement Pocket Code in various ways, e.g., an image editor app that supports transparency and zooming up to pixel level. According to Ohloh, as of June 2014 more than 371 person years have been invested by 270 volunteer contributors from more than 20 countries into Catrobat. All development is done in an agile, extremely iterative and test-driven way, with a strong focus on maintainability, usability, and design. Subteams in parallel develop native versions of Catrobat interpreters that are integrated into corresponding Pocket Code IDEs for the Android, iOS, and Windows Phone platforms as well as for HTML5 capable mobile browsers, or smartphones supporting HTML5 directly. These native versions are implemented by us respectively in Java, ObjectiveC, C# ' C++, and HTML5/JavaScript. I will demonstrate Pocket Code and also will show how we use automatically checkable specification to ensure that programs behave identically on all platforms even though no cross-compilation tools or common implementation languages are used.
在我们的免费开源项目Catrobat中,我们正在开发Pocket Code,这是一个集成开发环境(IDE),用于可视化的乐高积木风格编程语言,其灵感来自麻省理工学院的Scratch。与Scratch和AppInventor不同的是,Pocket Code完全是为智能手机而设计的,不需要PC来开发或执行程序。我们的动机是让青少年直观地创建和轻松地分享他们自己的移动应用程序。这个大型项目包括20多个子项目,以各种方式补充Pocket Code,例如,一个支持透明度和放大到像素级的图像编辑器应用程序。根据Ohloh的说法,截至2014年6月,来自20多个国家的270名志愿者已经为Catrobat投入了超过371人的时间。所有的开发都是以敏捷的、极度迭代的和测试驱动的方式完成的,重点放在可维护性、可用性和设计上。子团队同时开发本地版本的Catrobat解释器,这些解释器集成到对应的Pocket Code ide中,适用于Android、iOS和Windows Phone平台,以及支持HTML5的移动浏览器或直接支持HTML5的智能手机。这些原生版本分别由我们在Java、objective / C、c# / c++和HTML5/JavaScript中实现。我将演示Pocket Code,还将展示我们如何使用自动检查规范来确保程序在所有平台上的行为相同,即使没有使用交叉编译工具或通用实现语言。
{"title":"Pocket code: a scratch-like integrated development environment for your phone","authors":"W. Slany","doi":"10.1145/2660252.2664662","DOIUrl":"https://doi.org/10.1145/2660252.2664662","url":null,"abstract":"In our free open source project Catrobat, we are developing Pocket Code, an integrated development environment (IDE) for a visual, Lego-block style programming language that is inspired by MIT's Scratch. In contrast to Scratch and AppInventor, Pocket Code is designed to completely run on smartphones -- no PC whatsoever is needed to develop or execute the programs. Our motivation is to allow teenagers to intuitively create and easily share their own mobile apps. The large project includes more than 20 subprojects that complement Pocket Code in various ways, e.g., an image editor app that supports transparency and zooming up to pixel level. According to Ohloh, as of June 2014 more than 371 person years have been invested by 270 volunteer contributors from more than 20 countries into Catrobat. All development is done in an agile, extremely iterative and test-driven way, with a strong focus on maintainability, usability, and design. Subteams in parallel develop native versions of Catrobat interpreters that are integrated into corresponding Pocket Code IDEs for the Android, iOS, and Windows Phone platforms as well as for HTML5 capable mobile browsers, or smartphones supporting HTML5 directly. These native versions are implemented by us respectively in Java, ObjectiveC, C# ' C++, and HTML5/JavaScript. I will demonstrate Pocket Code and also will show how we use automatically checkable specification to ensure that programs behave identically on all platforms even though no cross-compilation tools or common implementation languages are used.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130853273","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}
引用次数: 19
Go at Google 去谷歌
R. Pike
The Go programming language was conceived in late 2007 as an answer to some of the problems we were seeing developing software infrastructure at Google. The computing landscape today is almost unrelated to the environment in which the languages being used, mostly C++, Java, and Python, had been created. The problems introduced by multicore processors, networked systems, massive computation clusters, and the web programming model were being worked around rather than addressed head-on. Moreover, the scale has changed: today's server programs comprise tens of millions of lines of code, are worked on by hundreds or even thousands of programmers, and are updated literally every day. To make matters worse, build times, even on large compilation clusters, have stretched to many minutes, even hours. Go was designed and developed to make working in this environment more productive. Besides its better-known aspects such as built-in concurrency and garbage collection, Go's design considerations include rigorous dependency management, the adaptability of software architecture as systems grow, and robustness across the boundaries between components. This talk will explain how these issues were addressed while building an efficient, compiled programming language that feels lightweight and pleasant. Examples and explanations will be taken from the real-world problems faced at Google.
Go编程语言是在2007年末构思出来的,是为了解决我们在Google开发软件基础设施时遇到的一些问题。今天的计算环境几乎与所使用的语言(主要是c++、Java和Python)的创建环境无关。多核处理器、网络系统、大规模计算集群和web编程模型带来的问题都是围绕而不是正面解决的。此外,规模已经发生了变化:今天的服务器程序包含数千万行代码,由数百甚至数千名程序员编写,并且每天都在更新。更糟糕的是,即使在大型编译集群上,构建时间也会延长到几分钟,甚至几小时。Go的设计和开发是为了使在这种环境中工作更有效率。除了内置并发性和垃圾收集等众所周知的方面外,Go的设计考虑还包括严格的依赖管理、随着系统增长而对软件架构的适应性以及跨组件边界的健壮性。本演讲将解释在构建一种轻量级且令人愉快的高效、编译的编程语言时如何解决这些问题。示例和解释将取自谷歌面临的现实问题。
{"title":"Go at Google","authors":"R. Pike","doi":"10.1145/2384716.2384720","DOIUrl":"https://doi.org/10.1145/2384716.2384720","url":null,"abstract":"The Go programming language was conceived in late 2007 as an answer to some of the problems we were seeing developing software infrastructure at Google. The computing landscape today is almost unrelated to the environment in which the languages being used, mostly C++, Java, and Python, had been created. The problems introduced by multicore processors, networked systems, massive computation clusters, and the web programming model were being worked around rather than addressed head-on. Moreover, the scale has changed: today's server programs comprise tens of millions of lines of code, are worked on by hundreds or even thousands of programmers, and are updated literally every day. To make matters worse, build times, even on large compilation clusters, have stretched to many minutes, even hours.\u0000 Go was designed and developed to make working in this environment more productive. Besides its better-known aspects such as built-in concurrency and garbage collection, Go's design considerations include rigorous dependency management, the adaptability of software architecture as systems grow, and robustness across the boundaries between components.\u0000 This talk will explain how these issues were addressed while building an efficient, compiled programming language that feels lightweight and pleasant. Examples and explanations will be taken from the real-world problems faced at Google.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":" 94","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120827071","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}
引用次数: 25
Staged program development 分阶段节目开发
K. Leino
A major issue facing software development and maintenance is the sheer complexity of programs. Even software designs that start off simple often evolve into programs that are both brittle and hard to understand. In this talk, I advocate programming in stages, where the programming language allows the program design to be described at varying levels of abstraction. Higher levels of abstraction focus on the intent of the design, whereas lower levels of abstraction introduce optimizations and other details. Since the layering is expressed in the programming language, the stages are preserved as part of the program text. Therefore, the stages help break down the program's complexity not only during development but also during maintenance. I will describe some language features, both old and new, that encourage staged development. To help communicate the vision, I will demonstrate Dafny, a research programming system whose language blends specifications, imperative programming, and staged program refinements and whose development environment is powered by an automatic program verifier that constantly analyzes the program to help the programmer get details right. Joint work with Jason Koenig.
软件开发和维护面临的一个主要问题是程序的复杂性。即使是一开始很简单的软件设计也经常演变成既脆弱又难以理解的程序。在这次演讲中,我提倡分阶段编程,编程语言允许在不同的抽象层次上描述程序设计。较高级别的抽象关注于设计的意图,而较低级别的抽象则引入优化和其他细节。由于分层是用编程语言表示的,所以阶段被保留为程序文本的一部分。因此,这些阶段不仅在开发期间,而且在维护期间有助于分解程序的复杂性。我将描述一些鼓励分阶段开发的语言特性,包括新旧特性。为了帮助交流远景,我将演示Dafny,这是一个研究性编程系统,它的语言混合了规范、命令式编程和分阶段的程序改进,它的开发环境由一个自动程序验证器提供支持,该程序验证器不断分析程序以帮助程序员获得正确的细节。与Jason Koenig合作。
{"title":"Staged program development","authors":"K. Leino","doi":"10.1145/2384716.2384719","DOIUrl":"https://doi.org/10.1145/2384716.2384719","url":null,"abstract":"A major issue facing software development and maintenance is the sheer complexity of programs. Even software designs that start off simple often evolve into programs that are both brittle and hard to understand. In this talk, I advocate programming in stages, where the programming language allows the program design to be described at varying levels of abstraction. Higher levels of abstraction focus on the intent of the design, whereas lower levels of abstraction introduce optimizations and other details. Since the layering is expressed in the programming language, the stages are preserved as part of the program text. Therefore, the stages help break down the program's complexity not only during development but also during maintenance.\u0000 I will describe some language features, both old and new, that encourage staged development. To help communicate the vision, I will demonstrate Dafny, a research programming system whose language blends specifications, imperative programming, and staged program refinements and whose development environment is powered by an automatic program verifier that constantly analyzes the program to help the programmer get details right.\u0000 Joint work with Jason Koenig.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124940800","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
A semantic integrated development environment 语义集成开发环境
F. Logozzo, Mike Barnett, Manuel Fähndrich, P. Cousot, R. Cousot
We present SIDE, a Semantic Integrated Development Environment. SIDE uses static analysis to enrich existing IDE features and also adds new features. It augments the way existing compilers find syntactic errors - in real time, as the programmer is writing code without execution - by also finding semantic errors, e.g., arithmetic expressions that may overflow. If it finds an error, it suggests a repair in the form of code - e.g., providing an equivalent yet non-overflowing expression. Repairs are correct by construction. SIDE also enhances code refactoring (by suggesting precise yet general contracts), code review (by answering what-if questions), and code searching (by answering questions like "find all the callers where x < y"). SIDE is built on the top of CodeContracts and the Roslyn CTP. CodeContracts provide a lightweight and programmer-friendly specification language. SIDE uses the abstract interpretation-based CodeContracts static checker (cccheck/Clousot) to obtain a deep semantic understanding of what the program does.
我们提出SIDE,一个语义集成开发环境。SIDE使用静态分析来丰富现有的IDE功能,并添加新功能。它通过发现语义错误(例如,可能溢出的算术表达式),增强了现有编译器发现语法错误的方式——实时地,因为程序员正在编写没有执行的代码。如果它发现一个错误,它会建议以代码的形式进行修复——例如,提供一个等价但没有溢出的表达式。按结构修理是正确的。SIDE还增强了代码重构(通过建议精确而通用的契约)、代码审查(通过回答假设问题)和代码搜索(通过回答诸如“找到x < y的所有调用者”之类的问题)。SIDE是建立在CodeContracts和Roslyn CTP之上的。CodeContracts提供了一种轻量级的、对程序员友好的规范语言。SIDE使用抽象的基于解释的CodeContracts静态检查器(cccheck/Clousot)来获得对程序所做事情的深刻的语义理解。
{"title":"A semantic integrated development environment","authors":"F. Logozzo, Mike Barnett, Manuel Fähndrich, P. Cousot, R. Cousot","doi":"10.1145/2384716.2384724","DOIUrl":"https://doi.org/10.1145/2384716.2384724","url":null,"abstract":"We present SIDE, a Semantic Integrated Development Environment. SIDE uses static analysis to enrich existing IDE features and also adds new features. It augments the way existing compilers find syntactic errors - in real time, as the programmer is writing code without execution - by also finding semantic errors, e.g., arithmetic expressions that may overflow. If it finds an error, it suggests a repair in the form of code - e.g., providing an equivalent yet non-overflowing expression. Repairs are correct by construction. SIDE also enhances code refactoring (by suggesting precise yet general contracts), code review (by answering what-if questions), and code searching (by answering questions like \"find all the callers where x < y\").\u0000 SIDE is built on the top of CodeContracts and the Roslyn CTP. CodeContracts provide a lightweight and programmer-friendly specification language. SIDE uses the abstract interpretation-based CodeContracts static checker (cccheck/Clousot) to obtain a deep semantic understanding of what the program does.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125036924","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
mbeddr: an extensible C-based programming language and IDE for embedded systems mbeddr:一种可扩展的基于c语言的编程语言和嵌入式系统IDE
M. Völter, D. Ratiu, B. Schätz, Bernd Kolb
While the C programming language provides good support for writing efficient, low-level code, it is not adequate for defining higher-level abstractions relevant to embedded software. In this paper we present the mbeddr technology stack that supports extension of C with constructs adequate for embedded systems. In mbeddr, efficient low-level programs can be written using the well-known concepts from C. Higher-level domain-specific abstractions can be seamlessly integrated into C by means of modular language extension regarding syntax, type system, semantics and IDE. In the paper we show how language extension can address the challenges of embedded software development and report on our experience in building these extensions. We show that language workbenches deliver on the promise of significantly reducing the effort of language engineering and the construction of corresponding IDEs. mbeddr is built on top of the JetBrains MPS language workbench. Both MPS and mbeddr are open source software.
虽然C编程语言为编写高效的低级代码提供了良好的支持,但它不足以定义与嵌入式软件相关的高级抽象。在本文中,我们提出了mbeddr技术栈,它支持C语言的扩展,并具有适合嵌入式系统的结构。在mbeddr中,可以使用C语言中众所周知的概念编写高效的低级程序。高级领域特定的抽象可以通过语法、类型系统、语义和IDE的模块化语言扩展无缝集成到C语言中。在本文中,我们展示了语言扩展如何解决嵌入式软件开发的挑战,并报告了我们在构建这些扩展方面的经验。我们展示了语言工作台能够显著减少语言工程和相应ide的构建工作。mbeddr是建立在JetBrains MPS语言工作台之上的。MPS和mbeddr都是开源软件。
{"title":"mbeddr: an extensible C-based programming language and IDE for embedded systems","authors":"M. Völter, D. Ratiu, B. Schätz, Bernd Kolb","doi":"10.1145/2384716.2384767","DOIUrl":"https://doi.org/10.1145/2384716.2384767","url":null,"abstract":"While the C programming language provides good support for writing efficient, low-level code, it is not adequate for defining higher-level abstractions relevant to embedded software. In this paper we present the mbeddr technology stack that supports extension of C with constructs adequate for embedded systems. In mbeddr, efficient low-level programs can be written using the well-known concepts from C. Higher-level domain-specific abstractions can be seamlessly integrated into C by means of modular language extension regarding syntax, type system, semantics and IDE. In the paper we show how language extension can address the challenges of embedded software development and report on our experience in building these extensions. We show that language workbenches deliver on the promise of significantly reducing the effort of language engineering and the construction of corresponding IDEs. mbeddr is built on top of the JetBrains MPS language workbench. Both MPS and mbeddr are open source software.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116551129","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}
引用次数: 102
Migration and execution of JavaScript applications between mobile devices and cloud 在移动设备和云之间迁移和执行JavaScript应用程序
Xudong Wang, Xuanzhe Liu, Ying Zhang, Gang Huang
Currently, mobile devices might suffer from their own limited resources to support complex Web applications. We present a framework that can offload JavaScript applications to cloud. Based on dynamic analysis and profiling, our approach partitions the computation-intensive tasks for remote execution and efficiently improves performance
目前,移动设备在支持复杂的Web应用程序时可能会受到自身资源有限的困扰。我们提出了一个框架,可以卸载JavaScript应用程序到云。该方法基于动态分析和概要分析,将计算密集型任务划分为远程执行,有效地提高了性能
{"title":"Migration and execution of JavaScript applications between mobile devices and cloud","authors":"Xudong Wang, Xuanzhe Liu, Ying Zhang, Gang Huang","doi":"10.1145/2384716.2384750","DOIUrl":"https://doi.org/10.1145/2384716.2384750","url":null,"abstract":"Currently, mobile devices might suffer from their own limited resources to support complex Web applications. We present a framework that can offload JavaScript applications to cloud. Based on dynamic analysis and profiling, our approach partitions the computation-intensive tasks for remote execution and efficiently improves performance","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"304 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122696679","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}
引用次数: 20
A methodology for managing database and code changes in a regression testing framework 一种在回归测试框架中管理数据库和代码更改的方法
R. Salama, J. McGuire, Michael Rosenberg
Large system development typically involves changes to code and database components. In these environments, testing continues to be the biggest challenge. Since release cycles include both database and code changes, thorough testing of existing schemas and code base is paramount. Code needs to be tested with a static database, database changes need to be tested on a static code base, and finally, both changes need to be tested together. In this paper we present the testing framework built during the development of Morgan Stanley's enterprise-wide time-series database, Horizon. The database, built using Kx's KDB+/Q, holds both tick-by-tick data originating from real-time feeds as well as periodic data received at regular intervals from vendors. The plant consists of several hundred cooperating processes which connect to real-time feeds, create in-memory databases, persist in-memory databases to disk on a regular basis, manage data set locations, and service client connections. At present, the database plant's size is approximately 1PB with an anticipated growth of .5PB/year.
大型系统开发通常涉及对代码和数据库组件的更改。在这些环境中,测试仍然是最大的挑战。由于发布周期包括数据库和代码更改,因此对现有模式和代码库进行彻底测试是至关重要的。代码需要使用静态数据库进行测试,数据库更改需要在静态代码库上进行测试,最后,这两种更改需要一起进行测试。在本文中,我们提出了在摩根斯坦利的企业级时间序列数据库Horizon开发过程中构建的测试框架。该数据库使用Kx的KDB+/Q构建,既保存来自实时提要的逐点数据,也保存从供应商定期接收的定期数据。该工厂由数百个协作进程组成,这些进程连接到实时提要、创建内存数据库、定期将内存数据库持久化到磁盘、管理数据集位置和服务客户机连接。目前,数据库工厂的规模约为1PB,预计每年增长0.5 pb。
{"title":"A methodology for managing database and code changes in a regression testing framework","authors":"R. Salama, J. McGuire, Michael Rosenberg","doi":"10.1145/2384716.2384766","DOIUrl":"https://doi.org/10.1145/2384716.2384766","url":null,"abstract":"Large system development typically involves changes to code and database components. In these environments, testing continues to be the biggest challenge. Since release cycles include both database and code changes, thorough testing of existing schemas and code base is paramount. Code needs to be tested with a static database, database changes need to be tested on a static code base, and finally, both changes need to be tested together.\u0000 In this paper we present the testing framework built during the development of Morgan Stanley's enterprise-wide time-series database, Horizon. The database, built using Kx's KDB+/Q, holds both tick-by-tick data originating from real-time feeds as well as periodic data received at regular intervals from vendors. The plant consists of several hundred cooperating processes which connect to real-time feeds, create in-memory databases, persist in-memory databases to disk on a regular basis, manage data set locations, and service client connections. At present, the database plant's size is approximately 1PB with an anticipated growth of .5PB/year.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114566447","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
Programming language abstractions for self-reconfigurable robots 自重构机器人的编程语言抽象
U. Schultz
Self-reconfigurable, modular robots are distributed mechatronic devices that can change their physical shape; modules are programmed individually but must coordinate across the robot. We present dynamic distributed scope as a programming language abstraction for modular robots, and show how it provides a unified abstraction for the domain.
自重构、模块化的机器人是分布式的机电一体化设备,可以改变其物理形状;模块是单独编程的,但必须在机器人之间协调。我们提出了动态分布式作用域作为模块化机器人的编程语言抽象,并展示了它如何为领域提供统一的抽象。
{"title":"Programming language abstractions for self-reconfigurable robots","authors":"U. Schultz","doi":"10.1145/2384716.2384743","DOIUrl":"https://doi.org/10.1145/2384716.2384743","url":null,"abstract":"Self-reconfigurable, modular robots are distributed mechatronic devices that can change their physical shape; modules are programmed individually but must coordinate across the robot. We present dynamic distributed scope as a programming language abstraction for modular robots, and show how it provides a unified abstraction for the domain.","PeriodicalId":194590,"journal":{"name":"ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124707603","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
期刊
ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
全部 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