Memory leaks · Critical
Track objects created with GetBusObject(), GetBusComp(), and NewPropertySet().
- Require explicit
= nullcleanup. - Prefer cleanup inside
finally {}.
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.
Run the detector to calculate a risk score from memory, performance, reliability, and hardcode rules.
Each card is lazily revealed as it enters the viewport, keeping the interface smooth while highlighting the highest-impact defect families first.
Track objects created with GetBusObject(), GetBusComp(), and NewPropertySet().
= null cleanup.finally {}.Flag expensive database and method calls buried inside loops.
ExecuteQuery() or InvokeMethod() in loops.NextRecord() loops missing FirstRecord().Detect silent failures that make production incidents impossible to investigate.
catch(e) {} blocks.Find brittle hardcoded values before code moves from Dev to Test to Prod.
The scanner is intentionally transparent: each finding explains the pattern, why it is risky, and the remediation direction.
| Category | RegExp signal | Why 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. |
| Reliability | catch\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. |