The maintenance and evolution of critical software with high requirements for reliability is an extremely demanding, time consuming and expensive task. Errors introduced by ad-hoc ...
We use a formal tool to extract Finite State Machines (FSM) based representations (lists of states and transitions) of sequential circuits described by flip-flops and gates. The...
Recovering architectural documentation from code is crucial to maintaining and reengineering software systems. Reverse engineering and program understanding approaches are often l...
We show how hypertext-based program understanding tools eve new levels of abstraction by using inferred type information for cases where the subject software system is written in ...
A wide variety of techniques and approaches are needed to understand and improve software development processes. The critical research problem is supporting the move from completel...