Dirk Riehle's Industry and Research Publications

Category: 2. Building Products

  • Balancing technology heterogeneity in microservice architectures [EMSE Journal]

    Balancing technology heterogeneity in microservice architectures [EMSE Journal]

    Abstract Microservices are a popular architectural style that allows systems to be built from a potentially large number of microservices, all of which can be developed independently and by their own teams. As a resulting benefit, development teams can choose the technologies optimal for their microservices, leading to a diversity of different programming languages, frameworks,…

  • Ensuring syntactic interoperability using consumer-driven contract testing [STVR Journal]

    Ensuring syntactic interoperability using consumer-driven contract testing [STVR Journal]

    Abstract Integrating services in service-based architectures is a major concern and challenge to their developers. A key problem is that today’s compilers cannot ensure syntactic interoperability of web APIs. Without further help, invalid calls surface only at runtime. Microservice-based architectures exacerbate this problem due to their use of polyglot software stacks and independent deployments. As…

  • Is AI killing open source?

    Is AI killing open source?

    tl;dr Nah, things keep changing, but if anything, AI only helps open source sharpen its profile as the way to go about collaboratively developing high-quality broadly-usable software. Those who were around twenty years ago may remember how folks were wondering whether the cloud was going to kill open source. How did this work out? It…

  • A taxonomy of microservice integration techniques [INFSOF Journal]

    A taxonomy of microservice integration techniques [INFSOF Journal]

    Abstract Context Microservices have become an important architectural style for building robust and scalable software systems. A system’s functionality is split into independent units, the microservices, that communicate over a network and can be deployed independently. The shift of complexity into the integration layer necessitates enhanced collaboration among stakeholders, stressing the importance of effective communication.…

  • A systematic review of common beginner programming mistakes in data engineering [CSEE&T 2025]

    A systematic review of common beginner programming mistakes in data engineering [CSEE&T 2025]

    Abstract The design of effective programming languages, libraries, frameworks, tools, and platforms for data engineering strongly depends on their ease and correctness of use. Anyone who ignores that it is humans who use these tools risks building tools that are useless, or worse, harmful. To ensure our data engineering tools are based on solid foundations,…

  • Open-source software: The ultimate in reuse or a risk not worth taking? (Mead et al., IEEE Computer)

    Open-source software: The ultimate in reuse or a risk not worth taking? (Mead et al., IEEE Computer)

    I’m happy to report that the 33rd article in the open source column of IEEE Computer has been published. As always, please consider writing an article proposal! Title Open-source software: The ultimate in reuse or a risk not worth taking? Keywords None Authors Nancy R. Mead, Carol Woody, Scott Hissam Publication Computer vol. 58, no.…