In this thesis we designed and implemented an algorithm for analyzing logical errors which are often encountered in the software requirements specification. The software requirements are assumed to be represented as Prolog facts. Nominal specification errors can be detected by applying Prolog rules to theses facts. However, for efficient retrieval and manipulation of information needed to check the consistency and completeness of requirements. We devise a special purpose data structure derived from a graph structure. This algorithm has also been implemented in Prolog and will constitute an essential component of a full-fledged requirements analysis system.