Static analysis updates in GCC 11

Static analysis updates in GCC 11

The GNU logo.
I work at Red Hat on the GNU Compiler Collection (GCC). In GCC 10, I added the new -fanalyzer option, a static analysis pass for identifying various problems at compile-time, rather than at runtime. The initial implementation was aimed at early adopters, who found a few bugs, including a security vulnerability: CVE-2020-1967. Bernd Edlinger, who discovered the issue, had to wade through many false positives accompanying the real issue. Other users also managed to get the analyzer to crash on their code.

I’ve been rewriting the analyzer to address these issues in the next major release, GCC 11. In this article, I describe the steps I’m taking to reduce the number of false positives and make this static analysis tool more robust.

Continue reading “Static analysis updates in GCC 11”

Share
Introduction to ContainerJFR: JDK Flight Recorder for containers

Introduction to ContainerJFR: JDK Flight Recorder for containers

OpenJDK has long been a top pick for real-world applications and workloads, chosen for its blend of performance, compatibility, reliability, and observability. For many years, JDK Flight Recorder (JFR) and JDK Mission Control (JMC) have contributed to OpenJDK’s success. Until recently, both were commercial features, however, available only for certain users and workloads.

Continue reading Introduction to ContainerJFR: JDK Flight Recorder for containers

Share
Introducing the Red Hat build of Eclipse Vert.x 4.0

Introducing the Red Hat build of Eclipse Vert.x 4.0

If you are interested in reactive, non-blocking, and asynchronous Java development, you are likely familiar with Eclipse Vert.x. The project started in 2011 and successfully moved to the Eclipse Foundation in 2013. Since then, Vert.x has undergone nine years of rigorous development and grown into a thriving community. It is one of the most widely used reactive frameworks, with support for multiple extensions, including extensions for messaging or streaming with Kafka or Artemis, developing applications with gRPC and GraphQL, and so much more.

Continue reading Introducing the Red Hat build of Eclipse Vert.x 4.0

Share
Use vim in a production Red Hat OpenShift container in 6 easy steps

Use vim in a production Red Hat OpenShift container in 6 easy steps

Disclaimer: In most cases, we don’t recommend editing files in a container. However, in rare cases, you might need to reproduce and slightly modify a file in a production container, especially when debugging. (In this case, the vim method I’m using works on Fedora 32 on my laptop and it is the base of my Red Hat OpenShift container image.)

Continue reading Use vim in a production Red Hat OpenShift container in 6 easy steps

Share

Operator integration testing for Operator Lifecycle Manager

Operators are one of the ways to package, deploy, and manage application distribution on Red Hat OpenShift. After a developer creates an Operator, the next step is to get the Operator published on OperatorHub.io. Doing this allows users to install and deploy the Operator in their OpenShift clusters. The Operator is installed, updated, and the management lifecycle is handled by the Operator Lifecycle Manager (OLM).

In this article, we explore the steps required to test OLM integration for the Operator. For demonstration, we use a simple Operator that prints a test message to the shell. The Operator is packaged in the recently introduced Bundle Format.

Continue reading “Operator integration testing for Operator Lifecycle Manager”

Share
10 reasons to develop Quarkus applications on Red Hat OpenShift

10 reasons to develop Quarkus applications on Red Hat OpenShift

Combining Quarkus with Red Hat OpenShift provides an ideal environment for creating scalable, fast, and lightweight applications. Quarkus significantly increases developer productivity with tooling, pre-built integrations, application services, and more. This article presents 10 reasons why you should develop your Quarkus applications on OpenShift.

Continue reading 10 reasons to develop Quarkus applications on Red Hat OpenShift

Share
Knowledge meets machine learning for smarter decisions, Part 1

Knowledge meets machine learning for smarter decisions, Part 1

Drools is a popular open source project known for its powerful rules engine. Few users realize that it can also be a gateway to the amazing possibilities of artificial intelligence. This two-part article introduces you to using Red Hat Decision Manager and its Drools-based rules engine to combine machine learning predictions with deterministic reasoning. In Part 1, we’ll prepare our machine learning logic. In Part 2, you’ll learn how to use the machine learning model from a knowledge service.

Continue reading Knowledge meets machine learning for smarter decisions, Part 1

Share