A method and apparatus for defining and validating feature policies in an
execution system, such as a communication system. The method includes
entering user policies described in a straightforward manner (e.g. using
a Web browser and user-understandable language) in such a way that they
can be translated into a formal executable language. The user policies
are then (translated into an executable feature language such as the
IETE's CPL. The user is then either compelled or provided with an option
to validate the overall feature set before the overall feature is
uploaded to the execution system. If validation is selected, the features
are translated from CPL into another format, such as FIAT, from which it
is possible to detect common feature specification errors. That FIAT
detected errors are then analyzed in a manner that is aware of the
expectations and common errors of native users, and interpreted to
determine possible errors as errors that are common to naive users.