Practices and tools that find and prevent weaknesses in software across its design, coding, testing and running.