(Extended Abstract)The technique of Abstract Interpretation [11] has allowed the development of sophisticated program analyses which are provably correct and practical. The semantic approximations produced by such analyses have been traditionally applied to optimization during program compilation. However, recently, novel and promising applications of semantic approximations have been proposed in the more general context of program validation and debugging [3,9,7].We study the case of (Constraint) Logic Programs (CLP), motivated by the comparatively large body of approximation domains, inference techniques, and tools for abstract interpretation-based semantic analysis which have been developed to a powerful and mature level for this programming paradigm (see, e.g., [23,8,18,6,12] and their references). These systems can approximate at compile-time a wide range of properties, from directional types to determinacy or termination, always safely, and with a significant degree of precisión. Thus, our approach is to take advantage of these advances in program analysis tools within the context of program validation and debugging, rather than using traditional proof-based methods (e.g., [1,2,13,17,28]), developing new tools and procedures, such as specific concrete [4,15,16] or abstract [9, 10] diagnosers and declarative debuggers, or limiting error detection to run-time checking [28].In this talk we discuss these issues and present a framework for combined static/dynamic validation and debugging using semantic approximations [7,26,21] which is meant to be a part of an advanced program development environment comprising a variety of co-existing tools [14]. Program validation and detection of errors is first performed at compile-time by inferring properties of the program via abstract interpretation-based static analysis and comparing this information against (partial) speciñcations written in terms of assertions. Such assertions are linguistic constructions which allow expressing properties of programs.Classical examples of assertions are type declarations (e.g., in the context of (C)LP those used by [22,27,5]). However, herein we are interested in supporting a more general setting in which assertions can be of a much more general nature, stating additionally other properties, some of which cannot always be determined statically for all programs. These properties may include properties defined by means of user programs and extend beyond the predefined set which may be