Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleApril 2024
Design and Implementation of an Aspect-Oriented C Programming Language
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue OOPSLA1Article No.: 117, Pages 642–669https://doi.org/10.1145/3649834Aspect-Oriented Programming (AOP) is a programming paradigm that implements crosscutting concerns in a modular way. People have witnessed the prosperity of AOP languages for Java and C++, such as AspectJ and AspectC++, which has propelled AOP to become ...
- surveyOctober 2019
A Survey of Metaprogramming Languages
ACM Computing Surveys (CSUR), Volume 52, Issue 6Article No.: 113, Pages 1–39https://doi.org/10.1145/3354584Metaprogramming is the process of writing computer programs that treat programs as data, enabling them to analyze or transform existing programs or generate new ones. While the concept of metaprogramming has existed for several decades, activities ...
- research-articleOctober 2019
Dealing with crosscutting and dynamic features in component software using aspect‐orientation: requirements and experiences
Coping with crosscutting and dynamic features of software systems has significant impacts on software modularity, reusability, adaptability, and maintainability. However, dealing with such features is a tremendous challenge for different software ...
- research-articleSeptember 2019
On the Validated Usage of the C++ Standard Template Library
BCI'19: Proceedings of the 9th Balkan Conference on InformaticsArticle No.: 23, Pages 1–8https://doi.org/10.1145/3351556.3351570The C++ Standard Template Library (STL) is the most well-known and widely used library that is based on the generic programming paradigm. The STL takes advantage of C++ templates, so it is an extensible, effective but flexible system. Professional C++ ...
- research-articleJanuary 2019
Toward an aspect-oriented cache autoloading framework with annotation
International Journal of Web and Grid Services (IJWGS), Volume 15, Issue 3Pages 304–318https://doi.org/10.1504/ijwgs.2019.100841In recent years, researches focus on addressing the query bottleneck issue using data cache in the internet-of-things. However, the challenges of this method are how to implement autonomous management of data cache. In this paper, we propose an aspect-...
-
- research-articleJuly 2018
Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns
COP '18: Proceedings of the 10th ACM International Workshop on Context-Oriented Programming: Advanced Modularity for Run-time CompositionPages 39–47https://doi.org/10.1145/3242921.3242927Cross-cutting concerns are an inherent property of the implementation of non-trivial software systems. Their study led to the development of advanced modularity constructs, usually supported by meta-level frameworks and programming language constructs, ...
- research-articleApril 2018
Applying aspect-oriented change realization in the mobile application domain
Programming '18: Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of ProgrammingPages 87–92https://doi.org/10.1145/3191697.3213806Aspect-oriented programming makes possible to express changes in a modular way directly at the level of programming language constructs. This is particularly useful in situations that require explicit change manipulation, such as change reapplication to ...
- research-articleApril 2018
An approach based on a DSL + API for programming runtime adaptivity and autotuning concerns
SAC '18: Proceedings of the 33rd Annual ACM Symposium on Applied ComputingPages 1211–1220https://doi.org/10.1145/3167132.3167263In the context of compiler optimizations, tuning of parameters and selection of algorithms, runtime adaptivity and autotuning are becoming increasingly important, especially due to the complexity of applications, workloads, computing devices and ...
- research-articleSeptember 2017
Assessing Organizational Effectiveness of Cooperative Agents
Procedia Computer Science (PROCS), Volume 112, Issue CPages 917–926https://doi.org/10.1016/j.procs.2017.08.117This paper investigates the effect of agents coalitional strategy on their effectiveness using an evaluation approach that causes no alteration of the global systems performance. Cooperation process is thus considered during the execution of a ...
- research-articleAugust 2017
Employing issues and commits for in-code sentence based use case identification and remodularization
ECBS '17: Proceedings of the Fifth European Conference on the Engineering of Computer-Based SystemsArticle No.: 1, Pages 1–8https://doi.org/10.1145/3123779.3123792Use case driven modularization improves code comprehension and maintenance and provides another view on software alongside object-oriented modularization. However, approaches enabling use case driven modularization require to modularize code manually. ...
- research-articleMay 2017
Variability in usability tests for Android applications
This article presents a software product line (SPL) as a framework to create usability tests for Android applications. This tool enables flexible integration and configuration of field tests, allowing automatic collection of data about user interactions ...
- research-articleApril 2017
Sync/CC: continuations and aspects to tame callback dependencies on JavaScript handlers
SAC '17: Proceedings of the Symposium on Applied ComputingPages 1245–1250https://doi.org/10.1145/3019612.3019783In JavaScript handlers, callbacks are widely used to develop rich responsive and interactive Web applications. However, the dependency among nested callbacks, known as callback hell, can make it difficult to understand and maintain them, which will ...
- research-articleApril 2017
LARA as a language-independent aspect-oriented programming approach
SAC '17: Proceedings of the Symposium on Applied ComputingPages 1623–1630https://doi.org/10.1145/3019612.3019749Usually, Aspect-Oriented Programming (AOP) languages are an extension of a specific target language (e.g., AspectJ for Java and AspectC++ for C++). This coupling can impose drawbacks such as arbitrary limitations to the aspect language. LARA is a DSL ...
- research-articleMarch 2017
Using aspect oriented programming to enforce privacy preserving communication in distributed systems
ICC '17: Proceedings of the Second International Conference on Internet of things, Data and Cloud ComputingArticle No.: 192, Pages 1–8https://doi.org/10.1145/3018896.3065828Unauthorized access to personal information represents one of the most important challenges faced by network application developers. The privacy-preserving concept has arisen from the usage of database resources, which sometimes leads to the sharing of ...
- articleFebruary 2017
Modularizing application and database evolution - an aspect-oriented framework for orthogonal persistence
Software—Practice & Experience (SPRE), Volume 47, Issue 2Pages 193–221https://doi.org/10.1002/spe.2415In the maintenance of software applications, database evolution is one common difficulty. In object-oriented databases, this process comprises schema evolution and instance adaptation. Both tasks usually require significant effort from programmers and ...
- articleFebruary 2017
A MATLAB subset to C compiler targeting embedded systems
Software—Practice & Experience (SPRE), Volume 47, Issue 2Pages 249–272https://doi.org/10.1002/spe.2408This paper describes MATISSE, a compiler able to translate a MATLAB subset to C targeting embedded systems. MATISSE uses LARA, an aspect-oriented programming language, to specify additional information and transformations to the input MATLAB code, for ...
- research-articleJanuary 2017
Automated extraction of business documentation in enterprise information systems
ACM SIGAPP Applied Computing Review (SIGAPP), Volume 16, Issue 4Pages 5–13https://doi.org/10.1145/3040575.3040576Extracting business documentation from ever-evolving information systems is a challenging task that requires a lot of effort, focus and technical expertise. Such a documentation provides a detailed overview of the system, lists domain model, operations, ...
- articleOctober 2016
Polymorphic bytecode instrumentation
Software—Practice & Experience (SPRE), Volume 46, Issue 10Pages 1351–1380https://doi.org/10.1002/spe.2385Bytecode instrumentation is a widely used technique to implement aspect weaving and dynamic analyses in virtual machines such as the Java virtual machine. Aspect weavers and other instrumentations are usually developed independently and combining them ...
- ArticleMay 2016
Modular Asynchronous Web Programming: Advantages & Challenges
BICT'15: Proceedings of the 9th EAI International Conference on Bio-inspired Information and Communications Technologies (formerly BIONETICS)Pages 442–445https://doi.org/10.4108/eai.3-12-2015.2262472Because of the success of the Internet technologies, traditional standalone applications like Spreadsheet and Drawing
are now provided as Web Applications. These adopt asynchronous programming that provides high responsive user
interactions. At the same ...
- articleMay 2016
Mining static and dynamic crosscutting concerns: a role-based approach
Journal of Software: Evolution and Process (WSMR), Volume 28, Issue 5Pages 306–339https://doi.org/10.1002/smr.1769The implementation of crosscutting concerns in object-oriented OO systems entails scattering and tangling of code across several components increasing code duplication and making the system harder to comprehend, maintain, evolve and reuse. Therefore, ...