Empty statements, i.e. ;, are usually introduced by mistake, for example because:

Noncompliant Code Example

function doSomething():void {
  ;                                                       // Noncompliant - was used as a kind of TODO marker
}

function doSomethingElse():void {
  trace("Hello, world!");;                     // Noncompliant - double ;
  ...
  for (var i:int = 0; i < 3; trace(i), i++);       // Noncompliant - Rarely, they are used on purpose as the body of a loop. It is a bad practice to have side-effects outside of the loop body
  ...
}

Compliant Solution

function doSomething():void {}

function doSomethingElse():void {
  trace("Hello, world!");
  ...
  for (var i:int = 0; i < 3; i++){
    trace(i);
  }
  ...
}

See