{"title":"Evaluation of Software Static Analyzers","authors":"Lobna Khaled, Nashwa Abdelbaki","doi":"10.1145/3436829.3436835","DOIUrl":null,"url":null,"abstract":"With the massive increase of software applications and websites, testing has become a very important concern in the software development process. This is due to the spread of a large number of security flaws. Dynamic testing requires code execution to examine the functional and non-functional behavior of software systems. It requires more time and cost, and it finds fewer bugs. On the other hand, static testing is done before code deployment and without code execution. Additionally, it provides a comprehensive diagnostics of code and focuses more on defects prevention. This provides greater benefits and is more cost-effective. Several techniques exist to perform static testing. One of them is using static analyzers tools that locate vulnerabilities in code and identify potential security flaws. Furthermore, these tools offer solutions to avoid security breaches. This paper contributes to the field of software testing in many aspects, by introducing the recent research studies in static analyzers. We discuss the importance of static analyzers and their challenges. We provide useful guidelines for selecting test cases to evaluate different static analyzers tools. Additionally, we explain a list of software common weaknesses. Furthermore, we explore the current research trend in static analyzers tools and techniques. Finally, we perform a research study to examine the performance of five PHP static analyzers tools. We report their ability to detect five common vulnerabilities by using Software Assurance Reference Dataset (SARD) test suite.","PeriodicalId":162157,"journal":{"name":"Proceedings of the 9th International Conference on Software and Information Engineering","volume":"162 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 9th International Conference on Software and Information Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3436829.3436835","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
With the massive increase of software applications and websites, testing has become a very important concern in the software development process. This is due to the spread of a large number of security flaws. Dynamic testing requires code execution to examine the functional and non-functional behavior of software systems. It requires more time and cost, and it finds fewer bugs. On the other hand, static testing is done before code deployment and without code execution. Additionally, it provides a comprehensive diagnostics of code and focuses more on defects prevention. This provides greater benefits and is more cost-effective. Several techniques exist to perform static testing. One of them is using static analyzers tools that locate vulnerabilities in code and identify potential security flaws. Furthermore, these tools offer solutions to avoid security breaches. This paper contributes to the field of software testing in many aspects, by introducing the recent research studies in static analyzers. We discuss the importance of static analyzers and their challenges. We provide useful guidelines for selecting test cases to evaluate different static analyzers tools. Additionally, we explain a list of software common weaknesses. Furthermore, we explore the current research trend in static analyzers tools and techniques. Finally, we perform a research study to examine the performance of five PHP static analyzers tools. We report their ability to detect five common vulnerabilities by using Software Assurance Reference Dataset (SARD) test suite.