Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2602458.2602470acmconferencesArticle/Chapter ViewAbstractPublication PagescbseConference Proceedingsconference-collections
research-article

A new approach to detect potential race conditions in component-based systems

Published: 27 June 2014 Publication History
  • Get Citation Alerts
  • Abstract

    When programming software applications, developers have to deal with many functional and non-functional requirements. During the last decade, especially in the augmented reality field of research, many frameworks have been developed using a component-based approach in order to fulfil the non-functional requirements. In this paper, we focus on such a specific requirement: race conditions issues in component-based systems. We present a heuristic that analyses data flows and detects components that may be subject to race conditions. A toy example introducing the problem and the solution is developed and implemented under the ARCS (for Augmented Reality Component System) framework. We also show the results of our algorithm on real size applications using up to 70 components and compare those results with some obtained by developers who had to make exactly the same work by hand.

    References

    [1]
    M. Abadi, C. Flanagan, and S. N. Freund. Types for safe locking: Static race detection for java. ACM Transactions on Programming Languages and Systems (TOPLAS), 28(2):207--255, 2006.
    [2]
    R. Azuma, B. Hoff, H. N. Iii, and R. Sarfaty. A motion-stabilized outdoor augmented reality system. In Proceedings of the IEEE Virtual Reality, VR '99, pages 252--, Washington, DC, USA, 1999. IEEE Computer Society.
    [3]
    U. Banerjee, B. Bliss, Z. Ma, and P. Petersen. A theory of data race detection. In Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging, pages 69--78. ACM, 2006.
    [4]
    M. Bauer, B. Bruegge, G. Klinker, A. MacWilliams, T. Reicher, S. Riss, C. Sandor, and M. Wagner. Design of a component-based augmented reality framework. In Proceedings of the International Symposium on Augmented Reality (ISAR), pages 45--54, octobre 2001.
    [5]
    BRGM. The raxenv project. http://raxenv.brgm.fr/?lang=en.
    [6]
    M. Chouiten, J.-Y. Didier, and M. Mallem. Component-based middleware for distributed augmented reality applications. In Proceedings of the 5th International Conference on COMmunication System softWAre and MiddlewaRE (COMSWARE 2011), page 3, July 1-3 2011.
    [7]
    J.-Y. Didier, S. Otmane, and M. Mallem. A component model for augmented/mixed reality applications with reconfigurable data-flow. In 8th International Conference on Virtual Reality (VRIC 2006), pages 243--252, Laval (France), 26-28 avril 2006.
    [8]
    J.-Y. Didier, S. Otmane, and M. Mallem. Arcs : Une architecture logicielle reconfigurable pour la conception des applications de réalitá augmentée. Technique et Science Informatiques (TSI), Réalité Virtuelle - RéalitéAugmentée, 28(6-7):891--919, Juin-septembre 2009. Numéro spécial.
    [9]
    R. Dörner, C. Geiger, M. Haller, and V. Paelke. Authoring mixed reality. a component and framework-based approach. In First International Workshop on Entertainment Computing (IWEC 2002), pages 405--413, Makuhari, Chiba, Japon, 14-17 mai 2002.
    [10]
    M. Emmi, J. S. Fischer, R. Jhala, and R. Majumdar. Lock allocation. In ACM SIGPLAN Notices, volume 42, pages 291--296. ACM, 2007.
    [11]
    C. Endres, A. Butz, and A. MacWilliams. A survey of software infrastructures and frameworks for ubiquitous computing. Mobile Information Systems Journal, 1(1):41--80, janvier-mars 2005.
    [12]
    D. Engler and K. Ashcraft. Racerx: effective, static detection of race conditions and deadlocks. In ACM SIGOPS Operating Systems Review, volume 37, pages 237--252. ACM, 2003.
    [13]
    Y. Eytani, E. Farchi, and Y. Ben-Asher. Heuristics for finding concurrent bugs. In Parallel and Distributed Processing Symposium, 2003. Proceedings. International, pages 8--pp. IEEE, 2003.
    [14]
    C. Flanagan and S. N. Freund. Fasttrack: efficient and precise dynamic race detection. In ACM Sigplan Notices, volume 44, pages 121--133. ACM, 2009.
    [15]
    A. Fuhrmann, D. Schmalstieg, and W. Purgathofer. Fast calibration for augmented reality. In Proceeding of ACM VRST'99, pages 166--167, Londres, December 1999. ACM.
    [16]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns. Elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995.
    [17]
    R. L. Halpert, C. J. Pickett, and C. Verbrugge. Component-based lock allocation. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques, pages 353--364. IEEE Computer Society, 2007.
    [18]
    Z. Huang, P. Hui, C. Peylo, and D. Chatzopoulos. Mobile augmented reality survey: A bottom-up approach. arXiv preprint arXiv:1309.4413, 2013.
    [19]
    C. E. Hughes, C. B. Stapleton, D. E. Hughes, and E. M. Smith. Mixed reality in education, entertainment, and training. IEEE Comput. Graph. Appl., 25:24--30, November 2005.
    [20]
    IBISC. Arcs: Augmented reality component system. http://arcs.ibisc.univ-evry.fr.
    [21]
    R. Kuck, J. Wind, K. Riege, and M. Bogen. Improving the avango vr/ar framework - lessons learned. In M. Schumann, editor, Virtuelle und Erweiterte Realitat : 5. Workshop der GI-Fachgruppe VR/AR, pages 209--220, Aachen, 2008.
    [22]
    L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558--565, 1978.
    [23]
    B. Long, P. Strooper, and L. Wildman. A method for verifying concurrent java components based on an analysis of concurrency failures. Concurrency and Computation: Practice and Experience, 19(3):281--294, 2007.
    [24]
    ObjectManagementGroup. Omg's corba website. http://www.omg.org/corba/.
    [25]
    J. Ohlenburg, I. Herbst, I. Lindt, T. Fröhlich, and W. Broll. The morgan framework: enabling dynamic multi-user ar and vr projects. In Proceedings of the ACM Symposium on Virtual Reality Software and Technology, VRST 2004, pages 166--169, Honk Kong, China, 10-12 novembre 2004.
    [26]
    W. Piekarski and B. Thomas. An object-oriented software architecture for 3d mixed reality applications. In The Second IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR'03), pages 247--256, Tokyo, Japan, octobre 2003.
    [27]
    M. Ponder, G. Papagiannakis, T. Molet, N. Magnenat-Thalmann, and D. Thalmann. Vhd++ development framework: Towards extendible, component based vr/ar simulation engine featuring advanced virtual character technologies. Computer Graphics International Conference, 0:96--104, 2003.
    [28]
    E. Pozniansky and A. Schuster. Multirace: efficient on-the-fly data race detection in multithreaded c++ programs. Concurrency and Computation: Practice and Experience, 19(3):327--340, 2007.
    [29]
    P. Pratikakis, J. S. Foster, and M. Hicks. Locksmith: context-sensitive correlation analysis for race detection. ACM SIGPLAN Notices, 41(6):320--331, 2006.
    [30]
    Qt project. Qt web site. http://qt.digia.com/, url.
    [31]
    S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems (TOCS), 15(4):391--411, 1997.
    [32]
    D. C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann. Pattern-Oriented Software Architecture, volume 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons, 2000.
    [33]
    V. C. Sreedhar, Y. Zhang, and G. R. Gao. A new framework for analysis and optimization of shared memory parallel programs. Technical report, 2005.
    [34]
    N. Sterling. Warlock-a static data race analysis tool. In USENIx Winter, pages 97--106, 1993.
    [35]
    C. Szyperski. Component Software - Beyond Object-Oriented Programming (Second edition). Addison-Wesley, Harlow, England, 2002.
    [36]
    J. W. Voung, R. Jhala, and S. Lerner. Relay: static race detection on millions of lines of code. In Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pages 205--214. ACM, 2007.
    [37]
    I. Zendjebil, F. Ababsa, J.-Y. Didier, and M. Mallem. Large scale localization for mobile outdoor augmented reality applications. In Springer, editor, International Conference On Computer Vision Theory and Applications, 2011.
    [38]
    Y. Zhang, V. C. Sreedhar, W. Zhu, V. Sarkar, and G. R. Gao. Minimum lock assignment: A method for exploiting concurrency among critical sections. In Languages and Compilers for Parallel Computing, pages 141--155. Springer, 2008.

    Cited By

    View all
    • (2022)Insertion Semantics of VHDL as Electronic Design LangugeCybernetics and Systems Analysis10.1007/s10559-022-00461-258:2(289-298)Online publication date: 22-Jun-2022

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CBSE '14: Proceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering
    June 2014
    200 pages
    ISBN:9781450325776
    DOI:10.1145/2602458
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 June 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. augmented reality
    2. components
    3. concrete example
    4. heuristic
    5. race conditions

    Qualifiers

    • Research-article

    Conference

    CompArch'14
    Sponsor:

    Acceptance Rates

    CBSE '14 Paper Acceptance Rate 21 of 62 submissions, 34%;
    Overall Acceptance Rate 55 of 147 submissions, 37%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)9
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Insertion Semantics of VHDL as Electronic Design LangugeCybernetics and Systems Analysis10.1007/s10559-022-00461-258:2(289-298)Online publication date: 22-Jun-2022

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media