Aspect-Oriented Software Development最新文献

筛选
英文 中文
Reify your collection queries for modularity and speed! 为模块化和速度具体化您的集合查询!
Aspect-Oriented Software Development Pub Date : 2012-10-23 DOI: 10.1145/2451436.2451438
Paolo G. Giarrusso, K. Ostermann, Michael Eichberg, Ralf Mitschke, Tillmann Rendel, Christian Kästner
{"title":"Reify your collection queries for modularity and speed!","authors":"Paolo G. Giarrusso, K. Ostermann, Michael Eichberg, Ralf Mitschke, Tillmann Rendel, Christian Kästner","doi":"10.1145/2451436.2451438","DOIUrl":"https://doi.org/10.1145/2451436.2451438","url":null,"abstract":"Modularity and efficiency are often contradicting requirements, such that programers have to trade one for the other. We analyze this dilemma in the context of programs operating on collections. Performance-critical code using collections need often to be hand-optimized, leading to non-modular, brittle, and redundant code. In principle, this dilemma could be avoided by automatic collection-specific optimizations, such as fusion of collection traversals, usage of indexing, or reordering of filters. Unfortunately, it is not obvious how to encode such optimizations in terms of ordinary collection APIs, because the program operating on the collections is not reified and hence cannot be analyzed.\u0000 We propose SQuOpt, the Scala Query Optimizer--a deep embedding of the Scala collections API that allows such analyses and optimizations to be defined and executed within Scala, without relying on external tools or compiler extensions. SQuOpt provides the same \"look and feel\" (syntax and static typing guarantees) as the standard collections API. We evaluate SQuOpt by re-implementing several code analyses of the FindBugs tool using SQuOpt, show average speedups of 12x with a maximum of 12800x and hence demonstrate that SQuOpt can reconcile modularity and efficiency in real-world applications.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"304 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114962133","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}
引用次数: 15
Adding high-level concurrency to EScala 向EScala添加高级并发性
Aspect-Oriented Software Development Pub Date : 2012-03-25 DOI: 10.1145/2162110.2162125
J. M. V. Ham
{"title":"Adding high-level concurrency to EScala","authors":"J. M. V. Ham","doi":"10.1145/2162110.2162125","DOIUrl":"https://doi.org/10.1145/2162110.2162125","url":null,"abstract":"On the one hand, languages like EventJava combine Event-Based Programming with concurrency. On the other hand, extending Aspect-Oriented Programming with concurrency has been studied as well. Seamlessly combining both styles with concurrency in a single language is possible with the right building blocks. We claim that the join operator is such a building block.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134130984","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
Aspect-based dynamic software updating: a model and its empirical evaluation 基于方面的动态软件更新:一个模型及其实证评价
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960275.1960289
S. Previtali, T. Gross
{"title":"Aspect-based dynamic software updating: a model and its empirical evaluation","authors":"S. Previtali, T. Gross","doi":"10.1145/1960275.1960289","DOIUrl":"https://doi.org/10.1145/1960275.1960289","url":null,"abstract":"This paper presents an approach to update object-oriented applications at run time. We introduce an update model that leverages aspect technology to express a software update as a modular unit. Although many updates remain encapsulated within a single method body, the nature of software updates is clearly crosscutting: Classes depend on each other, and if the interface of one class changes, all clients of the class are affected. We have designed and implemented an update analyzer that automatically compares two versions of a Java program and extracts the necessary updates expressed as aspects. As execution platform, we rely on an aspect-enabled virtual machine to weave the generated updating aspects at run time. The update analyzer uses only a small subset of the user-level services provided by the VM: around advice for method redefinitions as well as field and method pointcuts for single join-point selection. To validate our approach, we have conducted an empirical study on eight real-world Java applications whose versions encompass several years of development. The study shows that most updates (i.e., 98%) can be handled by the dynamic updating system and that most updates (i.e., 92%) can be extracted fully automatically or with only modest programmer intervention.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114299166","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
A design perspective on modularity 模块化的设计视角
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960275.1960307
A. Hoek, Nicolás López
{"title":"A design perspective on modularity","authors":"A. Hoek, Nicolás López","doi":"10.1145/1960275.1960307","DOIUrl":"https://doi.org/10.1145/1960275.1960307","url":null,"abstract":"Modularity is essential to software development. Without it, large software systems simply could not be realized. Designers typically strive to achieve a high degree of modularity by separating different concerns over different modules, a process called modularization. Modularity, however, is but one of the goals that the designer has. Furthermore, design does not just take place when the designer decides upon the structure of the code. Instead, design is a multi-dimensional activity that permeates the software life cycle. In this paper, we examine modularity as seen through the lens of design as it takes place across the life cycle, particularly dissecting typical activities in which designers engage to study how these activities involve and relate to modularity. The result is an affirmation that modularity is and always should be an integral part of designers' work, but that our current techniques to achieve modularity fall short in a number of critical ways. A research agenda is laid out toward overcoming these shortcomings.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"256 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132780933","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}
引用次数: 10
Aspect assumptions: a retrospective study of AspectJ developers' assumptions about aspect usage 方面假设:对AspectJ开发人员关于方面使用的假设的回顾性研究
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960275.1960288
S. Zschaler, A. Rashid
{"title":"Aspect assumptions: a retrospective study of AspectJ developers' assumptions about aspect usage","authors":"S. Zschaler, A. Rashid","doi":"10.1145/1960275.1960288","DOIUrl":"https://doi.org/10.1145/1960275.1960288","url":null,"abstract":"Aspect developers constantly make a range of assumptions about the context in which their aspects will be deployed; ranging from assumptions about other aspects deployed to assumptions about semantic properties of the base and the joinpoints at which an aspect is woven. Although it has been acknowledged that such assumptions need to be made explicit to validate aspects in the face of evolution (both of aspects and the base) and reuse as well as to mitigate the fragile-pointcut problem, so far no study exists that identifies the types of assumptions aspect developers make. In this paper, we present a retrospective study of three medium-sized open-source AspectJ projects and assumptions identified in these. This leads to an initial classification of assumptions that can form the basis for further research into how best to support each type of assumption.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"154 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123311958","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}
引用次数: 11
On the proactive identification of mistakes on concern mapping tasks 论关系映射任务中错误的主动识别
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960314.1960347
Camila Nunes
{"title":"On the proactive identification of mistakes on concern mapping tasks","authors":"Camila Nunes","doi":"10.1145/1960314.1960347","DOIUrl":"https://doi.org/10.1145/1960314.1960347","url":null,"abstract":"1. RESEARCH PROBLEM AND MOTIVATION The activity of explicitly assigning a stakeholder’s concern to its corresponding elements in the source code is known as concern mapping (or concern assignment) [1]. This is one of the most recurring and common activities in software maintenance tasks. Even though many techniques (Section 3.1) partially support concern identification [2-5], the developers are always forced to exhaustively verify if the mappings are correct and complete. Otherwise, the developers can unwittingly miss or implement incorrect changes in the system modules. In addition, existing tools usually support concern identification only at the class and method level, which are not sufficient for many software change tasks.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126242622","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
Event-driven programming with EScala 使用EScala进行事件驱动编程
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960314.1960336
Lucas Satabin, M. Mezini
{"title":"Event-driven programming with EScala","authors":"Lucas Satabin, M. Mezini","doi":"10.1145/1960314.1960336","DOIUrl":"https://doi.org/10.1145/1960314.1960336","url":null,"abstract":"EScala is an extension of Scala with support for declarative event-driven programming. It provides mechanisms for declarative definition of events and employs aspect-oriented techniques for exposing implicitly existing events, which reduces the need for explicit triggering of events. EScala provides a conservative integration of declarative events into an object-oriented language. Events are declared as attributes of objects and are subject to inheritance and subtype polymorphism. The language fully preserves encapsulation of objects and modular compilation of classes. Designs based on declarative events are as efficient as conventional event-driven designs.\u0000 Attendees of the demonstration will see a live example that illustrates the expressiveness gained by the features of EScala. We will show how events can be defined in a declarative way and how to use such events for defining interactions among objects. We will demonstrate how declarative events can be used to replace observers and so result in more concise and modular design. Finally, we will show how to use the events library with a standard Scala compiler.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132664909","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
Understanding programming technologies by analogy, examples, and abstraction: extended abstract (AOSD'11 tutorial) 通过类比、示例和抽象理解编程技术:扩展抽象(AOSD'11教程)
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960314.1960329
R. Lämmel
{"title":"Understanding programming technologies by analogy, examples, and abstraction: extended abstract (AOSD'11 tutorial)","authors":"R. Lämmel","doi":"10.1145/1960314.1960329","DOIUrl":"https://doi.org/10.1145/1960314.1960329","url":null,"abstract":"We have a problem: there is a stunning number of programming technologies out there. There are silos of knowledge around these technologies and technical spaces. In fact, it is not even clear that this abundance can still be approached by computer scientists. Q: How can we possibly understand those technologies in an academically valid manner? A: By analogy, examples, and abstraction!","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132722638","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
ReqSys: an eclipse plug-in for PL-AOVGraph and feature model mapping ReqSys:一个用于pl - avgraph和特征模型映射的eclipse插件
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960314.1960339
L. Santos, T. Batista, L. Silva
{"title":"ReqSys: an eclipse plug-in for PL-AOVGraph and feature model mapping","authors":"L. Santos, T. Batista, L. Silva","doi":"10.1145/1960314.1960339","DOIUrl":"https://doi.org/10.1145/1960314.1960339","url":null,"abstract":"In this paper, we describe the features of the ReqSys tool, a tool to verify and map PL-AOVgraph models into feature models.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"170 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123564680","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
Compositional type-checking for delta-oriented programming 面向增量编程的组合类型检查
Aspect-Oriented Software Development Pub Date : 2011-03-21 DOI: 10.1145/1960275.1960283
Ina Schaefer, Lorenzo Bettini, Ferruccio Damiani
{"title":"Compositional type-checking for delta-oriented programming","authors":"Ina Schaefer, Lorenzo Bettini, Ferruccio Damiani","doi":"10.1145/1960275.1960283","DOIUrl":"https://doi.org/10.1145/1960275.1960283","url":null,"abstract":"Delta-oriented programming is a compositional approach to flexibly implementing software product lines. A product line is represented by a code base and a product line declaration. The code base consists of a set of delta modules specifying modifications to object-oriented programs. The product line declaration provides the connection of the delta modules with the product features. This separation increases the reusability of delta modules. In this paper, we provide a foundation for compositional type checking of delta-oriented product lines of Java programs by presenting a minimal core calculus for delta-oriented programming. The calculus is equipped with a constraint-based type system that allows analyzing each delta module in isolation, such that that also the results of the analysis can be reused. By combining the analysis results for the delta modules with the product line declaration it is possible to establish that all the products of the product line are well-typed according to the Java type system.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127851856","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
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学术文献互助群
群 号:481959085
Book学术官方微信