Backend

Legacy Codebase Bugfixing

Analysis and resolution of a critical search function bug in a legacy shop software.

Duration 1 Week
Legacy bugfix diagnosis

About the Project

A customer operated legacy shop software that was customized for various end customers. Reports of poor search results with unpredictable behavior accumulated: A search for "KB-281" (internal designations like KB-281-001, KB-281-002 etc.) found nothing, while "KB-282-001" was found. The behavior was incomprehensible to users.

Analysis

Thorough code analysis revealed a fundamental problem in the search algorithm: The application used a self-implemented fuzzy search based on MySQL. The algorithm generated fuzzy terms at runtime based on configurable parameters in the admin portal – which is why adjustments sometimes delivered better results for some terms but worsened others.

Root Cause

The core problem: User input was never searched directly as a keyword. The fuzzy algorithm returned a list of terms but did not reliably include the split keywords from the original query.

The Solution

The developed solution was a hybrid approach: The fuzzy terms continued to be used, supplemented by sanitized and split keywords from the user input. This enabled both keyword-based and fuzzy searches – making the search significantly more robust and reliable.

Highlights

  • Root cause analysis in complex legacy codebase
  • Identification of a subtle but critical bug
  • Hybrid solution without complete rewrite
  • Secure implementation with input sanitization

Challenges

Understanding the complex, self-implemented fuzzy search logic. Balance between fix and regression avoidance.

Results

Reliable search results for all product designations. Resolution of long-standing customer complaints.

Interested?

Are you interested in a similar project or want to learn more? Get in touch – we look forward to hearing from you!

Get in touch