Analyzing Programs and Decision Problems