As part of a secure, trustworthy software development process, you need to identify and exercise paths through the code to ensure that program behavior is correct and expected. Traditional techniques for line and branch coverage leave too many security gaps. If security is important for your systems, you need a comprehensive validation approach that includes cyclomatic complexity and basis path analysis to scrutinize risky code structures using data and control flows.