Abstract. The 21st century is the information age. The rapid development of computer technology supports the rapid development of the information age. With the rapid spread of computers and networks, more and more software products play an important role in people's daily life. In computer security[1], a vulnerability[2] is a weakness which allows an attacker to reduce a system's information assurance. Vulnerability is the intersection of three elements: a system susceptibility or flaw, attacker access to the flaw, and attacker capability to exploit the flaw. Due to software developer's negligence in the development process of software or programming language limitations, software products often have security and functional flaws which damage software, known as software vulnerabilities. Software vulnerability discovery aims at discovering vulnerabilities that already exist in software, and then developers patch vulnerabilities to eliminate damages brought to software products. Now, vulnerability discovery ,in the field of information security, is becoming increasingly important. This paper mainly introduces the main methods of vulnerability discovery.