Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection

Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect orient...

Full description

Bibliographic Details
Main Authors: Khalid, Sadaf, Arif, Fahim
Format: Text
Language:English
Published: Zenodo 2012
Subjects:
Online Access:https://dx.doi.org/10.5281/zenodo.1070235
https://zenodo.org/record/1070235
id ftdatacite:10.5281/zenodo.1070235
record_format openpolar
spelling ftdatacite:10.5281/zenodo.1070235 2023-05-15T17:23:05+02:00 Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection Khalid, Sadaf Arif, Fahim 2012 https://dx.doi.org/10.5281/zenodo.1070235 https://zenodo.org/record/1070235 en eng Zenodo https://dx.doi.org/10.5281/zenodo.1070234 Open Access Creative Commons Attribution 4.0 https://creativecommons.org/licenses/by/4.0 info:eu-repo/semantics/openAccess CC-BY Aspect Bench Compiler abc Aspect OrientedProgramming AOP AspectJ Aspects Concurrency packages Concurrent programming Cross-cutting Concerns Data race Eclipse Java Java Development Kits JDKs Pointcuts Text Journal article article-journal ScholarlyArticle 2012 ftdatacite https://doi.org/10.5281/zenodo.1070235 https://doi.org/10.5281/zenodo.1070234 2021-11-05T12:55:41Z Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect oriented programming (AOP) is modern programming paradigm facilitating the runtime interception of events of interest and can be effectively used to handle the concurrency problems. AspectJ being an aspect oriented extension to java facilitates the application of concepts of AOP for data race detection. Volatile variables are usually considered thread safe, but they can become the possible candidates of data races if non-atomic operations are performed concurrently upon them. Various data race detection algorithms have been proposed in the past but this issue of volatility and atomicity is still unaddressed. The aim of this research is to propose some suggestions for incorporating certain conditions for data race detection in java programs at the volatile fields by taking into account support for atomicity in java concurrency packages and making use of pointcuts. Two simple test programs will demonstrate the results of research. The results are verified on two different Java Development Kits (JDKs) for the purpose of comparison. : {"references": ["\"Oracle Solaris Studio 12.2 Thread Analyzer User-s Guide,\" Internet:\ndownload.oracle.com/docs/cd/E18659_01/pdf/821-2124.pdf [6 Sep.\n2010].", "S.Savage, M.Burrows, G.Nelson, P.Sobalvarro and T.Anderson,\n\"Eraser: A Dynamic Data Race Detector for Multithreaded Programs,\"\nACM Trans. Computer Systems, Vol.15, No.4, pp. 391-411, 1997.", "Eric Bodden and Klaus Havelund, \"Aspect-Oriented Race Detection in\nJava\", IEEE Trans. on Software Engineering, Vol.36, N0.4, July/August\n2010.", "Eric Bodden and Klaus Havelund, \"Racer: Effective Race Detection\nUsing AspectJ\", Proc. Int-l Symp. Software Testing and Analysis, pp.\n155-165, July 2008.", "J.Harrow, \"Runtime Checking of Multithreaded Application with Visual\nThreads\", SPIN Model Checking and Software Verification, Springer,\npp. 331-342, 2000.", "R. O-Callahan and J-D. Choi, \"Hybrid Dynamic Data Race Detection\",\nProc. ACM SIGPLAN Symp. Principles and Practice of Parallel\nProgramming, pp. 167-178, 2003.", "Pouria Shaker and Dennis K. Peters, \"An Introduction to Aspect-\nOriented Software Development\", Proc. Newfoundland Electrical and\nComputer Engineering Conference, October 2005.", "Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm\nand William G. Griswold, \"An Overview of AspectJ\", ECOOP-01 Proc.\nof 15th European Conference on Object Oriented Programming, 2001.", "Mayur Hiru Naik, \"Effective Static Race Detection for Java\", Ph.D\nDissertation, March 2008.\n[10] Mayur Naik and Alex Aiken, \"Conditional Must Not Aliasing for Static\nRace Detection\", Proc. of the 34th annual ACM SIGPLAN, 2007."]} Text Newfoundland DataCite Metadata Store (German National Library of Science and Technology) Handle The ENVELOPE(161.983,161.983,-78.000,-78.000) Klaus ENVELOPE(24.117,24.117,65.717,65.717)
institution Open Polar
collection DataCite Metadata Store (German National Library of Science and Technology)
op_collection_id ftdatacite
language English
topic Aspect Bench Compiler abc
Aspect OrientedProgramming AOP
AspectJ
Aspects
Concurrency packages
Concurrent programming
Cross-cutting Concerns
Data race
Eclipse
Java
Java Development Kits JDKs
Pointcuts
spellingShingle Aspect Bench Compiler abc
Aspect OrientedProgramming AOP
AspectJ
Aspects
Concurrency packages
Concurrent programming
Cross-cutting Concerns
Data race
Eclipse
Java
Java Development Kits JDKs
Pointcuts
Khalid, Sadaf
Arif, Fahim
Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
topic_facet Aspect Bench Compiler abc
Aspect OrientedProgramming AOP
AspectJ
Aspects
Concurrency packages
Concurrent programming
Cross-cutting Concerns
Data race
Eclipse
Java
Java Development Kits JDKs
Pointcuts
description Wide applicability of concurrent programming practices in developing various software applications leads to different concurrency errors amongst which data race is the most important. Java provides greatest support for concurrent programming by introducing various concurrency packages. Aspect oriented programming (AOP) is modern programming paradigm facilitating the runtime interception of events of interest and can be effectively used to handle the concurrency problems. AspectJ being an aspect oriented extension to java facilitates the application of concepts of AOP for data race detection. Volatile variables are usually considered thread safe, but they can become the possible candidates of data races if non-atomic operations are performed concurrently upon them. Various data race detection algorithms have been proposed in the past but this issue of volatility and atomicity is still unaddressed. The aim of this research is to propose some suggestions for incorporating certain conditions for data race detection in java programs at the volatile fields by taking into account support for atomicity in java concurrency packages and making use of pointcuts. Two simple test programs will demonstrate the results of research. The results are verified on two different Java Development Kits (JDKs) for the purpose of comparison. : {"references": ["\"Oracle Solaris Studio 12.2 Thread Analyzer User-s Guide,\" Internet:\ndownload.oracle.com/docs/cd/E18659_01/pdf/821-2124.pdf [6 Sep.\n2010].", "S.Savage, M.Burrows, G.Nelson, P.Sobalvarro and T.Anderson,\n\"Eraser: A Dynamic Data Race Detector for Multithreaded Programs,\"\nACM Trans. Computer Systems, Vol.15, No.4, pp. 391-411, 1997.", "Eric Bodden and Klaus Havelund, \"Aspect-Oriented Race Detection in\nJava\", IEEE Trans. on Software Engineering, Vol.36, N0.4, July/August\n2010.", "Eric Bodden and Klaus Havelund, \"Racer: Effective Race Detection\nUsing AspectJ\", Proc. Int-l Symp. Software Testing and Analysis, pp.\n155-165, July 2008.", "J.Harrow, \"Runtime Checking of Multithreaded Application with Visual\nThreads\", SPIN Model Checking and Software Verification, Springer,\npp. 331-342, 2000.", "R. O-Callahan and J-D. Choi, \"Hybrid Dynamic Data Race Detection\",\nProc. ACM SIGPLAN Symp. Principles and Practice of Parallel\nProgramming, pp. 167-178, 2003.", "Pouria Shaker and Dennis K. Peters, \"An Introduction to Aspect-\nOriented Software Development\", Proc. Newfoundland Electrical and\nComputer Engineering Conference, October 2005.", "Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm\nand William G. Griswold, \"An Overview of AspectJ\", ECOOP-01 Proc.\nof 15th European Conference on Object Oriented Programming, 2001.", "Mayur Hiru Naik, \"Effective Static Race Detection for Java\", Ph.D\nDissertation, March 2008.\n[10] Mayur Naik and Alex Aiken, \"Conditional Must Not Aliasing for Static\nRace Detection\", Proc. of the 34th annual ACM SIGPLAN, 2007."]}
format Text
author Khalid, Sadaf
Arif, Fahim
author_facet Khalid, Sadaf
Arif, Fahim
author_sort Khalid, Sadaf
title Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
title_short Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
title_full Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
title_fullStr Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
title_full_unstemmed Application Of Java-Based Pointcuts In Aspect Oriented Programming (Aop) For Data Race Detection
title_sort application of java-based pointcuts in aspect oriented programming (aop) for data race detection
publisher Zenodo
publishDate 2012
url https://dx.doi.org/10.5281/zenodo.1070235
https://zenodo.org/record/1070235
long_lat ENVELOPE(161.983,161.983,-78.000,-78.000)
ENVELOPE(24.117,24.117,65.717,65.717)
geographic Handle The
Klaus
geographic_facet Handle The
Klaus
genre Newfoundland
genre_facet Newfoundland
op_relation https://dx.doi.org/10.5281/zenodo.1070234
op_rights Open Access
Creative Commons Attribution 4.0
https://creativecommons.org/licenses/by/4.0
info:eu-repo/semantics/openAccess
op_rightsnorm CC-BY
op_doi https://doi.org/10.5281/zenodo.1070235
https://doi.org/10.5281/zenodo.1070234
_version_ 1766110149352620032