Int4 Aster Documentation

Execution limits

ASTER implementation for Int4 Suite brings certain limits in order to help work around common pitfalls in script design.

Loop execution limits

There is a 100’000 times execution limit for FOR and WHILE loops. This limit should be sufficient for processing even large data files, as typical messages processed in Int4 Suite are around thousands lines.

This way, if an infinite loop is created, it will break after the set limits of loop code execution.

Example

SUM = 0;
WITH(I=0;Limit=100,
    WHILE(I<LIMIT,
        SUM = SUM + 1))               # Forgotten about incrementing I
image-20250408-122222.png

Call stack depth

Stack depth represents roughly the level of nesting of function calls. There is a limit of 10’000 for the call stack depth in ASTER. This way, we protect from cases of infinite recurrent execution.

Example

DEFUN("INFINITE_RECURRENCE", ("x"), 
    INFINITE_RECURRENCE(x));          # Forgotten about checking for stop criteria
    
INFINITE_RECURRENCE(10)
image-20250408-123207.png

Controlling limits

In case Your software solution complexity requires updating these limits, please reach out to Int4 team for assistance.