Successful Code Analysis Using Machine Learning at the Federal Employment Agency

Capgemini, together with the FEA systems integrator and other partners, develops a new tool to control intelligent quality assurance in a large software system

Client: Bundesagentur für Arbeit (Federal Employment Agency, FEA)

Industry: Public Sector

Region: Germany

Client Challenge: Avoidance of programming errors in the further development of a large, business critical software application

Solution: Working with Capgemini, the FEA introduced a machine learning-based, static code analysis tool to find patterns and tools that could support error-free code

Benefits:

  • Identification of code patterns and software errors
  • Avoidance of hotfixes
  • Identification of useful rules that affect functional and non-functional requirements

FEA provides services to millions of citizens

The Federal Employment Agency (FEA) is one of the largest users of information technology in Germany. It offers a broad range of services in the labor and training markets for citizens as well as companies and institutions. A nationwide network of employment agencies and branch offices ensures these services are carried out in a timely and efficient manner. In addition, the agency conducts labor market and occupational research, labor market observation and reporting, and records labor market statistics.

It also disburses unemployment benefits such as Arbeitslosengeld II, known as “Hartz IV.” Because this is the basic provision for citizens without assets and sufficient income, punctual and correct payment is particularly important.

Identification of hidden software errors is a challenge

The system used by the FEA for the calculation and payment of about 25 billion Euros in unemployment benefits per year consists of about 800,000 lines of code and performs millions of transactions each month. Prior to the release of each update, conventional quality control methods thoroughly test the software. However, even for advanced developers, there are errors that are hard to identify using standard code review methods. Tests cover the majority of the code, but errors often reside in the sections that are not fully evaluated. Once an error occurs in production, the FEA needs to react instantly, usually with a hotfix.

As a long-standing service provider at the FEA, Capgemini possessed a great deal of insight into the challenges the organization faced. During the operative business of a large FEA IT process, the project team became fully aware of the client‘s challenge and, in collaboration with the client, decided to solve the problem using an innovative, machine learning-based approach.

The implementation was carried out in cooperation with the FEA IT systems integrator. In addition, the chair for Information Systems, Processes, and Systems at the University of Potsdam was involved in research on the topic in advance.

Intelligent system identifies patterns and rules to prevent errors

The FEA had very high-quality requirements and already used static code analysistools. They analyzed code against pre-defined rules and, if a rule was violated, it was identified as a potential code error. However, this meant that only errors violating existing rules could be found. It was therefore difficult to identify complex problems and solve them without hotfixes. Machine learning provides the ability to find even previously unknown errors.

The FEA and Capgemini worked together to develop a machine learning-based, static code analysis tool to find patterns and rules for error-free code in a code base. Now, more errors are identified and corrected before they can cause damage.

The result counts: efficient and effective prevention of software failures

The FEA can now identify code errors more easily during testing, which further reduces software malfunctions. In addition, it will be easier to avoid similar issues in the future by recognizing sources of error more reliably before the release of the software through patterns and rule violations hidden in the code.

After two months of deployment, the system has already found useful rules for functional and non-functional requirements. For example, the system detects if code used for closing a transaction is missing and thus prevents performance issues. In addition, the system indicates if existing helper methods can solve a problem, which provides a simpler solution than repeatedly re-coding the same issue.

The collaborative approach

Together with the FEA, its system integrator, and a group of students of the Chair of Business Informatics, Processes, and Systems at the University of Potsdam, Capgemini has founded a research group for machine learning in static code analysis. The concept of the Collaborative Business ExperienceTM is a central component of the corporate philosophy and is intended to support business processes and innovations through a collaborative and people-centered approach. In this case, every second week there was a telephone exchange with all participants on how additional patterns and association rules could be found in the code and used for better error detection.

FEA Journey Infographic

File size: 141.45 KB File type: PDF

FEA case study

File size: 367.33 KB File type: PDF

Featured Testimonials

Thomas Paal Business, Unit Leader, Federal Employment Agency

At FEA, we perform millions of transactions every month to deliver our services to citizens and businesses. Capgemini’s approach of using machine learning for static code analysis has enabled us to further improve our quality assurance. Thanks to the tool, we can now identify errors in new code on the basis of verified source codes, even if no corresponding rule for this error has been manually defined in advance.