ABSTRACT
Aspect oriented programming (AOP) is a paradigm ideal for defining cross-cutting concerns within an existing application. Although several AOP frameworks exist for more renowned languages such as Java and C#, little to no frameworks have been developed for actor oriented languages such as Erlang. We thus present eAOP, a new AOP framework specifically designed to instrument actor-oriented constructs in Erlang such as message sends and receives, along with other traditional constructs such as function calls.
- G. Agha. An overview of actor languages. ACM, 1986. Google ScholarDigital Library
- J. Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007.Google ScholarDigital Library
- D. P. Attard, I. Cassar, A. Francalanza, L. Aceto, and A. Ingolfsdottir. A runtime monitoring tool for actor-based systems. Behavioural Types: from Theory to Tools., 2017.Google Scholar
- V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. ACM, 35:1–12, 2000.Google ScholarDigital Library
- A. Bawiskar, P. Sawant, V. Kankate, and B. Meshram. Spring Framework: A Companion to JavaEE. IJCEM, 1:41–49, 2012.Google Scholar
- G. A. T. Bayona. Aspect oriented programming meets design patterns. Master’s thesis, University of Manchester, Faculty of Engineering and Physical Sciences, 2013.Google Scholar
- D. Bruening and Q. Zhao. Practical memory checking with Dr. Memory. In IEEE/ACM Symposium on Code Generation and Optimization , pages 213–223. IEEE, 2011. Google ScholarCross Ref
- D. Bruening, Q. Zhao, and S. Amarasinghe. Transparent dynamic instrumentation. ACM , 47:133–144, 2012.Google ScholarDigital Library
- N. Cacho, C. Sant’Anna, E. Figueiredo, A. Garcia, T. Batista, and C. Lucena. Composing design patterns: A scalability study of aop. In AOSD, pages 109–121. ACM, 2006. Google ScholarDigital Library
- I. Cassar and A. Francalanza. On synchronous and asynchronous monitor instrumentation for actor-based systems. arXiv:1502.03514, 2015.Google Scholar
- I. Cassar and A. Francalanza. Runtime adaptation for actor systems. In RV, pages 38–54. Springer, 2015. Google ScholarCross Ref
- I. Cassar and A. Francalanza. On implementing a monitor-oriented programming framework for actor systems. In IFM, pages 176–192. Springer, 2016. Google ScholarDigital Library
- I. Cassar, A. Francalanza, L. Aceto, and A. Ingólfsdóttir. A Survey of Runtime Monitoring Instrumentation Techniques. In PrePost, EPTCS, 2017. (To appear). Google ScholarCross Ref
- F. Chen and G. Roşu. MOP: An efficient and generic Runtime Verification framework. In ACM SIGPLAN Notices 2007, volume 42, pages 569–588. Google ScholarDigital Library
- F. Chen and G. Roşu. Java-MOP: A Monitoring Oriented Programming Environment for Java , pages 546–550. 2005.Google Scholar
- S. Chiba and R. Ishikawa. Aspect-oriented programming beyond dependency injection. ECOOP, pages 121–143, 2005. Google ScholarDigital Library
- Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn. Using AspectC to improve the modularity of path-specific customization in operating system code. In ACM SIGSOFT , volume 26, pages 88–98. ACM, 2001. Google ScholarDigital Library
- Ericsson. Compiler reference manual. Online. http://erlang.org/doc/man/compile. html#file-2 .Google Scholar
- M. Fayad and D. C. Schmidt. Object-oriented application frameworks. Commun. ACM , 40(10):32–38, Oct. 1997. Google ScholarDigital Library
- I. Figueroa, N. Tabareau, and É. Tanter. Effective Aspects: A Typed Monadic Embedding of Pointcuts and Advice , pages 145–192. Springer, 2014.Google Scholar
- G. Fraiteur. A Thread-Safe Extension to Object-Oriented Programming. Technical report, PostSharp Technologies.Google Scholar
- A. Francalanza and A. Seychell. Synthesising correct concurrent runtime monitors. FMSD, 46(3):226–261, 2015. Google ScholarDigital Library
- A. Francalanza, L. Aceto, and A. Ingólfsdóttir. On verifying hennessy-milner logic with recursion at runtime. In RV, pages 71–86, 2015. Google ScholarCross Ref
- K. Gregor, H. Erik, H. Jim, K. Mik, P. Jeffrey, and G. G. William. An Overview of AspectJ. In ECOOP, 2001.Google Scholar
- K. Havelund and G. Roşu. An Overview of the RV tool Java PathExplorer. FMSD, 24(2):189–215, 2004.Google ScholarDigital Library
- A. Hernandez. Yaws 1.89: Directory Traversal Vulnerability. Available online at www.exploit-db.com/exploits/15371/ , 2010. Accessed on 24/5/2017.Google Scholar
- I. Jacobson and P.-W. Ng. Aspect-oriented software development with use cases. Addison-Wesley Professional, 2004.Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming, pages 220–242. Springer, 1997. Google ScholarCross Ref
- M. Kim, M. Viswanathan, S. Kannan, I. Lee, and O. Sokolsky. Java-MaC: A run-time assurance approach for Java programs. FMSD, 24(2):129–155, 2004. Google ScholarDigital Library
- R. Laddad. AspectJ in action: practical aspect-oriented programming. Dreamtech Press, 2003.Google ScholarDigital Library
- Mountainminds GmbH & Co. KG. EclEmma - Java Code Coverage for Eclipse. Online. www.eclemma.org/ .Google Scholar
- N. Nethercote. Dynamic binary analysis and instrumentation. PhD thesis, University of Cambridge, 2004.Google Scholar
- H. Rajan and K. Sullivan. Aspect language features for concern coverage profiling. AOSD, pages 181–191. ACM, 2005.Google Scholar
- C. Sant’Anna, A. Garcia, U. Kulesza, C. Lucena, and A. v. Staa. Design patterns as aspects: A quantitative assessment. JBCS, 10(2):42–55, 2004.Google Scholar
- K. Sirbi and P. J. Kulkarni. Stronger enforcement of security using AOP and Spring AOP. arXiv:1006.4550, 2010.Google Scholar
- O. Spinczyk, A. Gal, and W. SchrÃűder-Preikschat. AspectC++: An AspectOriented Extension to the C++ Programming Language. In CRPIT ’02, pages 53–60, 2002.Google Scholar
- G. Xu, Z. Yang, H. Huang, Q. Chen, L. Chen, and F. Xu. JAOUT: Automated generation of Aspect-oriented unit test. In APSEC, pages 374–381, Nov 2004.Google Scholar
Index Terms
- eAOP: an aspect oriented programming framework for Erlang
Recommendations
Aspect-Oriented Programming Reloaded
SBLP '17: Proceedings of the 21st Brazilian Symposium on Programming LanguagesMany programs have crosscutting concerns for which neither procedural nor object-oriented programming adequately modularize, which has led to the idea of aspect-oriented programming (AOP). However, AOP has not found favor with the programming languages ...
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Aspect Mining in Procedural Object Oriented Code
ICPC '08: Proceedings of the 2008 The 16th IEEE International Conference on Program ComprehensionAlthough object-oriented programming promotes reusable and well factored entity decomposition, industrial software often shows traces of lack of object-oriented design and procedural thinking. This results in scattered and tangled code related to domain ...
Comments