A. Static Analysis
It initially starts from a pre-given URL; the states reachable
from the starting page are examined sequentially. For each
page the set of possible actions are attained and kept in the
database. Current page is scanned by another component to
analyze it statically, if an error is discovered; it is logged for
later process. If a cycle is detected, the exploration from the
current page is ignored. The actions which are saved are
consecutively investigated and inspected in a manner
explained later. After executing each action, if no error
encounters, a page is properly returned from the web server. If
for some reason, like a breaking page or something, an error
occurs, that error needs to be reported and kept in a persistent
way. Otherwise the algorithm is recursively reapplied to the
returned page.