Modern business code intelligence

Detect Siebel trouble before production.

Inspired by clean AI product experiences, this interactive workspace scans eScript for critical memory leaks, database-heavy loops, silent catch blocks, and hardcoded Siebel identifiers.

4risk categories
LiveRegExp scanning
Lazyanimated reveal
Ready to scan
0
No scan yet

Run the detector to calculate a risk score from memory, performance, reliability, and hardcode rules.

Rulebook

From cheat sheet to actionable signals.

Each card is lazily revealed as it enters the viewport, keeping the interface smooth while highlighting the highest-impact defect families first.

Memory leaks · Critical

Track objects created with GetBusObject(), GetBusComp(), and NewPropertySet().

  • Require explicit = null cleanup.
  • Prefer cleanup inside finally {}.

Performance · High

Flag expensive database and method calls buried inside loops.

  • ExecuteQuery() or InvokeMethod() in loops.
  • NextRecord() loops missing FirstRecord().

Reliability · Medium

Detect silent failures that make production incidents impossible to investigate.

  • Empty catch(e) {} blocks.
  • Catch blocks that never rethrow.

Anti-patterns · Low

Find brittle hardcoded values before code moves from Dev to Test to Prod.

  • Siebel Row Id constants.
  • Direct Windows file paths.
Implementation patterns

Fast RegExp heuristics, business-readable output.

The scanner is intentionally transparent: each finding explains the pattern, why it is risky, and the remediation direction.

InputeScript snippet
Parseobjects · loops · catches
Scorecriticality weighted
Outputactionable remediation
Abstract code audit wave
CategoryRegExp signalWhy it is trouble
Memory Leak(\w+)\s*=\s*.*\.GetBusComp\(.*\)Heavy objects are created but may never be nulled.
Performance(while|for)\s*\(.*\)\s*\{[^}]*\.ExecuteQuery\(Database calls inside loops slow down every transaction.
Reliabilitycatch\s*\(\s*\w+\s*\)\s*\{\s*\}Empty catch blocks hide production failures.
Hardcode['"]\d-[A-Z0-9]{3,15}['"]Test database Row Ids break portability.