• Skip to content (access key 1)
  • Skip to search (access key 7)
FWF — Austrian Science Fund
  • Go to overview page Discover

    • Research Radar
      • Research Radar Archives 1974–1994
    • Discoveries
      • Emmanuelle Charpentier
      • Adrian Constantin
      • Monika Henzinger
      • Ferenc Krausz
      • Wolfgang Lutz
      • Walter Pohl
      • Christa Schleper
      • Elly Tanaka
      • Anton Zeilinger
    • Impact Stories
      • Verena Gassner
      • Wolfgang Lechner
      • Georg Winter
    • scilog Magazine
    • Austrian Science Awards
      • FWF Wittgenstein Awards
      • FWF ASTRA Awards
      • FWF START Awards
      • Award Ceremony
    • excellent=austria
      • Clusters of Excellence
      • Emerging Fields
    • In the Spotlight
      • 40 Years of Erwin Schrödinger Fellowships
      • Quantum Austria
    • Dialogs and Talks
      • think.beyond Summit
    • Knowledge Transfer Events
    • E-Book Library
  • Go to overview page Funding

    • Portfolio
      • excellent=austria
        • Clusters of Excellence
        • Emerging Fields
      • Projects
        • Principal Investigator Projects
        • Principal Investigator Projects International
        • Clinical Research
        • 1000 Ideas
        • Arts-Based Research
        • FWF Wittgenstein Award
      • Careers
        • ESPRIT
        • FWF ASTRA Awards
        • Erwin Schrödinger
        • doc.funds
        • doc.funds.connect
      • Collaborations
        • Specialized Research Groups
        • Special Research Areas
        • Research Groups
        • International – Multilateral Initiatives
        • #ConnectingMinds
      • Communication
        • Top Citizen Science
        • Science Communication
        • Book Publications
        • Digital Publications
        • Open-Access Block Grant
      • Subject-Specific Funding
        • AI Mission Austria
        • Belmont Forum
        • ERA-NET HERA
        • ERA-NET NORFACE
        • ERA-NET QuantERA
        • ERA-NET TRANSCAN
        • Alternative Methods to Animal Testing
        • European Partnership Biodiversa+
        • European Partnership BrainHealth
        • European Partnership ERA4Health
        • European Partnership ERDERA
        • European Partnership EUPAHW
        • European Partnership FutureFoodS
        • European Partnership OHAMR
        • European Partnership PerMed
        • European Partnership Water4All
        • Gottfried and Vera Weiss Award
        • netidee SCIENCE
        • Herzfelder Foundation Projects
        • Quantum Austria
        • Rückenwind Funding Bonus
        • WE&ME Award
        • Zero Emissions Award
      • International Collaborations
        • Belgium/Flanders
        • Germany
        • France
        • Italy/South Tyrol
        • Japan
        • Korea
        • Luxembourg
        • Poland
        • Switzerland
        • Slovenia
        • Taiwan
        • Tyrol–South Tyrol–Trentino
        • Czech Republic
        • Hungary
    • Step by Step
      • Find Funding
      • Submitting Your Application
      • International Peer Review
      • Funding Decisions
      • Carrying out Your Project
      • Closing Your Project
      • Further Information
        • Integrity and Ethics
        • Inclusion
        • Applying from Abroad
        • Personnel Costs
        • PROFI
        • Final Project Reports
        • Final Project Report Survey
    • FAQ
      • Project Phase PROFI
      • Project Phase Ad Personam
      • Expiring Programs
        • Elise Richter and Elise Richter PEEK
        • FWF START Awards
  • Go to overview page About Us

    • Mission Statement
    • FWF Video
    • Values
    • Facts and Figures
    • Annual Report
    • What We Do
      • Research Funding
        • Matching Funds Initiative
      • International Collaborations
      • Studies and Publications
      • Equal Opportunities and Diversity
        • Objectives and Principles
        • Measures
        • Creating Awareness of Bias in the Review Process
        • Terms and Definitions
        • Your Career in Cutting-Edge Research
      • Open Science
        • Open-Access Policy
          • Open-Access Policy for Peer-Reviewed Publications
          • Open-Access Policy for Peer-Reviewed Book Publications
          • Open-Access Policy for Research Data
        • Research Data Management
        • Citizen Science
        • Open Science Infrastructures
        • Open Science Funding
      • Evaluations and Quality Assurance
      • Academic Integrity
      • Science Communication
      • Philanthropy
      • Sustainability
    • History
    • Legal Basis
    • Organization
      • Executive Bodies
        • Executive Board
        • Supervisory Board
        • Assembly of Delegates
        • Scientific Board
        • Juries
      • FWF Office
    • Jobs at FWF
  • Go to overview page News

    • News
    • Press
      • Logos
    • Calendar
      • Post an Event
      • FWF Informational Events
    • Job Openings
      • Enter Job Opening
    • Newsletter
  • Discovering
    what
    matters.

    FWF-Newsletter Press-Newsletter Calendar-Newsletter Job-Newsletter scilog-Newsletter

    SOCIAL MEDIA

    • LinkedIn, external URL, opens in a new window
    • , external URL, opens in a new window
    • Facebook, external URL, opens in a new window
    • Instagram, external URL, opens in a new window
    • YouTube, external URL, opens in a new window

    SCILOG

    • Scilog — The science magazine of the Austrian Science Fund (FWF)
  • elane login, external URL, opens in a new window
  • Scilog external URL, opens in a new window
  • de Wechsle zu Deutsch

  

Meta-level Engineering and Tooling for Complex Concurrent Systems

Meta-level Engineering and Tooling for Complex Concurrent Systems

Hanspeter Mössenböck (ORCID: )
  • Grant DOI 10.55776/I2491
  • Funding program Principal Investigator Projects International
  • Status ended
  • Start March 1, 2016
  • End February 28, 2021
  • Funding amount € 245,383
  • Project website

Bilaterale Ausschreibung: Belgien

Disciplines

Computer Sciences (100%)

Keywords

    Concurrency, Language Implementation, Debugging, Meta-Interaces, Instrumentation, Optimization

Abstract Final report

During the last decade, multicore processors have become commonplace in phones, tablets, laptops, and servers. As a result, software developers use concurrent programming techniques to utilize these processors. Especially in complex software systems, we see a wide range of these techniques being used, for instance to perform computations in parallel. This is problematic, because in contrast to classic programming techniques, concurrent programming has a pervasive influence on the whole system rather than being nicely confined to isolated parts. This makes concurrent systems hard to understand and debug. Unfortunately, todays debugging tools for concurrent programs work on the lowest abstraction level, e.g., on memory accesses instead of the high-level concurrency concepts that developers used to build the systems, which makes it even harder to understand the software. To support the development of such complex systems, we propose to investigate how to abstract from the wide range of concurrent programming techniques. The goal is to devise a common mechanism to build tools that are able to represent the high-level concurrency concepts to the developers so that they can better understand the software they build. Furthermore, we need to investigate how to implement such a common mechanism, because existing techniques affect the way programs behave and can hide the concurrency bugs a software developer might try to understand. So far, the question of how to build tools for the wide range of concurrent programming techniques has not been investigated. While others have focused on specific techniques, for the complex software systems we see today, this is not enough. To approach this problem, we propose to combine the unique expertises of the Software Languages Lab at the Vrije Universiteit Brussel, Belgium and the Institute for System Software of the Johannes Kepler University Linz, Austria. We will investigate how to design a common meta-level interface for tools from the high-level perspective of concurrent programming techniques, as well as the low-level perspective of the fundamental performance issues for its implementation to minimize interference with program execution. For our research, we will rely on Truffle, a novel language implementation framework that allows us to build prototypes and experiments with state-of-the-art performance while using the existing infrastructure of Java virtual machines. Based on this technical foundation, we will investigate in an iterative approach support for message-passing, shared-state, and declarative concurrency to devise a meta-level interface that abstracts from the specific concurrency models. Furthermore, we will investigate how to efficiently support time- travelling debugging in such a setting to provide tools and thereby developers with the information on high-level concurrency concepts of their software system and the ability to examine and understand how a bug occurred.

Moore's law, according to which the performance of processors doubles every 1.5 years, has reached its limit. As a result, our computers and smartphones increasingly have 4, 8 or 16 processors instead of just one. To make use of these processors, programs are parallelised so that parts of them run concurrently on different processors. However, parallelisation brings new problems. The interaction between parallel processes is inherently non-deterministic. Errors often occur sporadically and are usually difficult to reproduce, since they are only noticeable in very specific interactions. In addition, there are different concurrency models, which are increasingly combined in one and the same program. The topic of our research was therefore the development of a novel software infrastructure which allows parallel programs to be better analysed at runtime and thus sporadically occurring problems to be localised. The idea behind our approach is to record the behaviour of the programs and their interactions and to analyse these "traces" afterwards. The challenge here was to reconcile different concurrency models, i.e. to find a uniform recording technique for all these models that on the one hand allows parallel programs to be replayed in such a way that the same interactions occur as in the original execution, and on the other hand to make these recordings as compact and efficient as possible so that the execution of the programs is slowed down as little as possible. This record & replay approach was successfully implemented and published in 22 papers in international journals and conferences. The software infrastructure and the tools based on it were made available in an open source repository and now serve other researchers as a basis for further investigations. The required efficiency was achieved-among other things-by novel dynamic optimisation techniques. To ensure continuous recording of long-running programs, a snapshotting technique was developed with which a program's state can be captured at certain points in time, so that the analysis can start at these snapshots without having to consider earlier program traces. The project was a cooperation between the Johannes Kepler University Linz and the Vrije Universiteit Brussel. While the Linz group was mainly concerned with the efficient recording of parallel programs and their subsequent analysis, the Brussels group mainly researched parallelisation models and analysis tools, for example to be able to replay parallel programs forwards and backwards while analysing them.

Research institution(s)
  • Universität Linz - 100%
International project participants
  • Elisa Gonzales Boix, Vrije Universiteit Brussel - Belgium

Research Output

  • 109 Citations
  • 39 Publications
  • 2 Methods & Materials
  • 2 Software
  • 3 Disseminations
  • 1 Scientific Awards
Publications
  • 2021
    Title Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record & Replay
    DOI 10.22152/programming-journal.org/2021/5/14
    Type Journal Article
    Author Aumayr D
    Journal The Art, Science, and Engineering of Programming
    Link Publication
  • 2019
    Title Asynchronous snapshots of actor systems for latency-sensitive applications
    DOI 10.1145/3357390.3361019
    Type Conference Proceeding Abstract
    Author Aumayr D
    Pages 157-171
    Link Publication
  • 2019
    Title Debugging support for multi-paradigm concurrent programs
    DOI 10.1145/3359061.3361074
    Type Conference Proceeding Abstract
    Author Aumayr D
    Pages 38-40
  • 2016
    Title Efficient and thread-safe objects for dynamically-typed languages
    DOI 10.1145/3022671.2984001
    Type Journal Article
    Author Daloze B
    Journal ACM SIGPLAN Notices
    Pages 642-659
    Link Publication
  • 2016
    Title GEMs: shared-memory parallel programming for Node.js
    DOI 10.1145/3022671.2984039
    Type Journal Article
    Author Bonetta D
    Journal ACM SIGPLAN Notices
    Pages 531-547
    Link Publication
  • 2016
    Title Cross-language compiler benchmarking: are we fast yet?
    DOI 10.1145/2989225.2989232
    Type Conference Proceeding Abstract
    Author Daloze B
    Pages 120-131
  • 2016
    Title Cross-language compiler benchmarking: are we fast yet?
    DOI 10.1145/3093334.2989232
    Type Journal Article
    Author Marr S
    Journal ACM SIGPLAN Notices
    Pages 120-131
    Link Publication
  • 2016
    Title Building efficient and highly run-time adaptable virtual machines
    DOI 10.1145/3093334.2989234
    Type Journal Article
    Author Chari G
    Journal ACM SIGPLAN Notices
    Pages 60-71
    Link Publication
  • 2016
    Title Building efficient and highly run-time adaptable virtual machines
    DOI 10.1145/2989225.2989234
    Type Conference Proceeding Abstract
    Author Chari G
    Pages 60-71
    Link Publication
  • 2017
    Title A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools
    DOI 10.48550/arxiv.1706.00363
    Type Preprint
    Author Marr S
  • 2017
    Title A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
    DOI 10.48550/arxiv.1706.07372
    Type Preprint
    Author Lopez C
  • 2017
    Title Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages, DLS 2017
    DOI 10.1145/3133841
    Type Journal Article
    Link Publication
  • 2016
    Title GEMs: shared-memory parallel programming for Node.js
    DOI 10.1145/2983990.2984039
    Type Conference Proceeding Abstract
    Author Bonetta D
    Pages 531-547
    Link Publication
  • 2016
    Title Towards Advanced Debugging Support for Actor Languages - Studying Concurrency Bugs in Actor-based Programs
    Type Other
    Author Marr S.
    Conference Work-in-progress Talk, AGERE! Workshop
    Link Publication
  • 2016
    Title Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems
    Type Conference Proceeding Abstract
    Author Gonzalez Boix E.
    Conference Arbeitstagung Programmiersprachen, ATPS'16
    Pages 91-95
    Link Publication
  • 2016
    Title Efficient and thread-safe objects for dynamically-typed languages
    DOI 10.1145/2983990.2984001
    Type Conference Proceeding Abstract
    Author Daloze B
    Pages 642-659
    Link Publication
  • 2018
    Title Efficient and deterministic record & replay for actor languages
    DOI 10.1145/3237009.3237015
    Type Conference Proceeding Abstract
    Author Aumayr D
    Pages 1-14
    Link Publication
  • 2018
    Title A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
    DOI 10.1007/978-3-030-00302-9_6
    Type Book Chapter
    Author Torres Lopez C
    Publisher Springer Nature
    Pages 155-185
  • 2018
    Title Parallelization of dynamic languages: synchronizing built-in collections
    DOI 10.1145/3276478
    Type Journal Article
    Author Daloze B
    Journal Proceedings of the ACM on Programming Languages
    Pages 1-30
    Link Publication
  • 2018
    Title Fully Reflective Execution Environments: Virtual Machines for More Flexible Software
    DOI 10.1109/tse.2018.2812715
    Type Journal Article
    Author Chari G
    Journal IEEE Transactions on Software Engineering
    Pages 858-876
    Link Publication
  • 2018
    Title A flexible framework for studying trace-based just-in-time compilation
    DOI 10.1016/j.cl.2017.07.005
    Type Journal Article
    Author Vandercammen M
    Journal Computer Languages, Systems & Structures
    Pages 22-47
    Link Publication
  • 2018
    Title Efficient and Deterministic Record & Replay for Actor Languages
    DOI 10.48550/arxiv.1805.06267
    Type Preprint
    Author Aumayr D
  • 2017
    Title Fully-Reflective VMs for Ruling Software Adaptation
    DOI 10.1109/icse-c.2017.144
    Type Conference Proceeding Abstract
    Author Chari G
    Pages 229-231
  • 2017
    Title A concurrency-agnostic protocol for multi-paradigm concurrent debugging tools
    DOI 10.1145/3170472.3133842
    Type Journal Article
    Author Marr S
    Journal ACM SIGPLAN Notices
    Pages 3-14
    Link Publication
  • 2017
    Title Garbage collection and efficiency in dynamic metacircular runtimes: an experience report
    DOI 10.1145/3170472.3133845
    Type Journal Article
    Author Pimás J
    Journal ACM SIGPLAN Notices
    Pages 39-50
  • 2017
    Title A principled approach towards debugging communicating event-loops
    DOI 10.1145/3141834.3141839
    Type Conference Proceeding Abstract
    Author Lopez C
    Pages 41-49
    Link Publication
  • 2017
    Title A concurrency-agnostic protocol for multi-paradigm concurrent debugging tools
    DOI 10.1145/3133841.3133842
    Type Conference Proceeding Abstract
    Author Marr S
    Pages 3-14
    Link Publication
  • 2017
    Title Garbage collection and efficiency in dynamic metacircular runtimes: an experience report
    DOI 10.1145/3133841.3133845
    Type Conference Proceeding Abstract
    Author Pimás J
    Pages 39-50
    Link Publication
  • 2017
    Title Trace Register Allocation Policies
    DOI 10.1145/3132190.3132209
    Type Conference Proceeding Abstract
    Author Eisl J
    Pages 92-104
    Link Publication
  • 2017
    Title Applying Optimizations for Dynamically-typed Languages to Java
    DOI 10.1145/3132190.3132202
    Type Conference Proceeding Abstract
    Author Grimmer M
    Pages 12-22
    Link Publication
  • 2017
    Title Kóµpo?
    DOI 10.1145/3079368.3079378
    Type Conference Proceeding Abstract
    Author Marr S
    Pages 1-2
    Link Publication
  • 2017
    Title Toward Virtual Machine Adaption Rather than Reimplementation: Adapting SOMns for Grace
    Type Other
    Author Marr S.
    Link Publication
  • 2017
    Title A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability
    DOI 10.1145/3098572.3098577
    Type Conference Proceeding Abstract
    Author Chari G
    Pages 1-5
    Link Publication
  • 0
    DOI 10.1145/2989225
    Type Other
  • 0
    DOI 10.1145/2983990
    Type Other
  • 0
    DOI 10.1145/3098572
    Type Other
  • 0
    DOI 10.1145/3141834
    Type Other
  • 0
    DOI 10.1145/3132190
    Type Other
  • 0
    DOI 10.1145/3079368
    Type Other
Methods & Materials
  • 2017 Link
    Title SOMns: A Platform for Research on Concurrent Programming Models and Tooling
    Type Improvements to research infrastructure
    Public Access
    Link Link
  • 2016 Link
    Title Are We Fast Yet Benchmark Suite
    DOI 10.1145/10.1145/2989225.2989232
    Type Improvements to research infrastructure
    Public Access
    Link Link
Software
  • 2020 Link
    Title smarr/ReBench: 1.0.0 Foundations
    DOI 10.5281/zenodo.3782861
    Link Link
  • 2019 Link
    Title SOMns: A Newspeak for Concurrency Research
    DOI 10.5281/zenodo.3270909
    Link Link
Disseminations
  • 2017 Link
    Title MoreVMs Workshop Series
    Type Participation in an activity, workshop or similar
    Link Link
  • 2016 Link
    Title Virtual Machine Meetup
    Type A talk or presentation
    Link Link
  • 2016 Link
    Title Meta: Workshop Series on Meta-Programming Techniques and Reflection
    Type Participation in an activity, workshop or similar
    Link Link
Scientific Awards
  • 2019
    Title 2nd place at the Student Research Competition (Graduate Category) at the SPLASH'19 Doctoral Symposium
    Type Research prize
    Level of Recognition Continental/International

Discovering
what
matters.

Newsletter

FWF-Newsletter Press-Newsletter Calendar-Newsletter Job-Newsletter scilog-Newsletter

Contact

Austrian Science Fund (FWF)
Georg-Coch-Platz 2
(Entrance Wiesingerstraße 4)
1010 Vienna

office(at)fwf.ac.at
+43 1 505 67 40

General information

  • Job Openings
  • Jobs at FWF
  • Press
  • Philanthropy
  • scilog
  • FWF Office
  • Social Media Directory
  • LinkedIn, external URL, opens in a new window
  • , external URL, opens in a new window
  • Facebook, external URL, opens in a new window
  • Instagram, external URL, opens in a new window
  • YouTube, external URL, opens in a new window
  • Cookies
  • Whistleblowing/Complaints Management
  • Accessibility Statement
  • Data Protection
  • Acknowledgements
  • IFG-Form
  • Social Media Directory
  • © Österreichischer Wissenschaftsfonds FWF
© Österreichischer Wissenschaftsfonds FWF