The Use of Aspects to Simplify Concurrent Programming

Journal Title: e-Informatica Software Engineering Journal - Year 2014, Vol 8, Issue 1

Abstract

Developers who create multi-threaded programs must pay attention to ensuring safe implementations that avoid problems and prevent introduction of a system in an inconsistent state. To achieve this objective programming languages offer more and more support for the programmer by syntactic structures and standard libraries. Despite these enhancements, multi-threaded programming is still generally considered to be difficult. The aim of our study was the analysis of existing aspect oriented solutions, which were designed to simplify concurrent programming, propose improvements to these solutions and examine influence of concurrent aspects on complexity of programs. Improved solutions were compared with existing by listing differing characteristics. Then we compared classical concurrent applications with their aspect oriented equivalents using metrics. Values of 2 metrics (from 7 considered) decreased after using aspect oriented solutions. Values of 2 other metrics decreased or remained at the same level. The rest behaved unstably depending on the problem. No metric reported increase of complexity in more than one aspect oriented version of program from set. Our results indicate that the use of aspects does not increase the complexity of a program and in some cases application of aspects can reduce it.

Authors and Affiliations

M Negacz, B. Hnatkowska

Keywords

Related Articles

Efficiency of Software Testing Techniques: A Controlled Experiment Replication and Network Meta-analysis

Background. Common approaches to software verification include static testing techniques, such as code reading, and dynamic testing techniques, such as black-box and white-box testing. Objective. With the aim of gaining...

NRFixer: Sentiment Based Model for Predicting the Fixability of Non-Reproducible Bugs

Software maintenance is an essential step in software development life cycle. Nowadays, software companies spend approximately 45% of total cost in maintenance activities. Large software projects maintain bug repositorie...

Reducing the Number of Higher-order Mutants with the Aid of Data Flow

Higher-order mutants are created by injecting two or more mutations into the original program, while first-order mutants are generated by seeding single faults in the original program. Mutant generation is a key stage of...

Model Driven Web Engineering: A Systematic Mapping Study

Background: Model Driven Web Engineering (MDWE) is the application of the model driven paradigm to the domain of Web software development, where it is particularly helpful because of the continuous evolution of Web techn...

Malicious JavaScript Detection by Features Extraction

In recent years, JavaScript-based attacks have become one of the most common and successful types of attack. Existing techniques for detecting malicious JavaScripts could fail for different reasons. Some techniques are t...

Download PDF file
  • EP ID EP167516
  • DOI 10.5277/e-Inf140102
  • Views 64
  • Downloads 0

How To Cite

M Negacz, B. Hnatkowska (2014). The Use of Aspects to Simplify Concurrent Programming. e-Informatica Software Engineering Journal, 8(1), -. https://europub.co.uk/articles/-A-167516