Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleFebruary 2025
Backsolver: Adapting Preceding Execution Paths to Solve Constraints for Concolic Execution
ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 34, Issue 3Article No.: 84, Pages 1–30https://doi.org/10.1145/3712194Concolic execution follows the execution paths of concrete inputs, capable of generating new inputs for unexplored code by solving negated path constraints. However, implicit flows can hinder concolic execution, reducing the code coverage. Implicit flows ...
- research-articleMarch 2024
WeBridge: Synthesizing Stored Procedures for Large-Scale Real-World Web Applications
Proceedings of the ACM on Management of Data (PACMMOD), Volume 2, Issue 1Article No.: 64, Pages 1–29https://doi.org/10.1145/3639319Modern web applications use databases to store their data. When processing user requests, these applications retrieve and store data in the database server, which incurs network round trips. These round trips significantly increase the application's ...
Triereme: Speeding up hybrid fuzzing through efficient query scheduling
- Elia Geretto,
- Julius Hohnerlein,
- Cristiano Giuffrida,
- Herbert Bos,
- Erik van der Kouwe,
- Klaus v. Gleissenthall
ACSAC '23: Proceedings of the 39th Annual Computer Security Applications ConferencePages 56–70https://doi.org/10.1145/3627106.3627173Hybrid fuzzing, the combination between fuzzing and concolic execution, holds great promise in theory, but has so far failed to deliver all the expected advantages in practice due to its high overhead. The cause is the large amount of time spent in the ...
- research-articleJuly 2023
SymRustC: A Hybrid Fuzzer for Rust
ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1515–1518https://doi.org/10.1145/3597926.3604927We present SymRustC, a hybrid fuzzer for Rust. SymRustC is hybrid in the sense that it combines fuzzing and concolic execution. SymRustC leverages an existing tool called SymCC for its concolic execution capability and another existing tool called LibAFL ...
- surveyDecember 2022
Fuzzing of Embedded Systems: A Survey
ACM Computing Surveys (CSUR), Volume 55, Issue 7Article No.: 137, Pages 1–33https://doi.org/10.1145/3538644Security attacks abuse software vulnerabilities of IoT devices; hence, detecting and eliminating these vulnerabilities immediately are crucial. Fuzzing is an efficient method to identify vulnerabilities automatically, and many publications have been ...
-
- research-articleNovember 2022
SFuzz: Slice-based Fuzzing for Real-Time Operating Systems
- Libo Chen,
- Quanpu Cai,
- Zhenbang Ma,
- Yanhao Wang,
- Hong Hu,
- Minghang Shen,
- Yue Liu,
- Shanqing Guo,
- Haixin Duan,
- Kaida Jiang,
- Zhi Xue
CCS '22: Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications SecurityPages 485–498https://doi.org/10.1145/3548606.3559367Real-Time Operating System (RTOS) has become the main category of embedded systems. It is widely used to support tasks requiring real-time response such as printers and switches. The security of RTOS has been long overlooked as it was running in special ...
- research-articleOctober 2021
LeanSym: Efficient Hybrid Fuzzing Through Conservative Constraint Debloating
RAID '21: Proceedings of the 24th International Symposium on Research in Attacks, Intrusions and DefensesPages 62–77https://doi.org/10.1145/3471621.3471852To improve code coverage and flip complex program branches, hybrid fuzzers couple fuzzing with concolic execution. Despite its benefits, this strategy inherits the inherent slowness and memory bloat of concolic execution, due to path explosion and ...
- research-articleNovember 2021
Fuzzing Symbolic Expressions
ICSE '21: Proceedings of the 43rd International Conference on Software EngineeringPages 711–722https://doi.org/10.1109/ICSE43902.2021.00071Recent years have witnessed a wide array of results in software testing, exploring different approaches and methodologies ranging from fuzzers to symbolic engines, with a full spectrum of instances in between such as concolic execution and hybrid ...
- research-articleJanuary 2021
Legion: best-first concolic testing
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software EngineeringPages 54–65https://doi.org/10.1145/3324884.3416629Concolic execution and fuzzing are two complementary coverage-based testing techniques. How to achieve the best of both remains an open challenge. To address this research problem, we propose and evaluate Legion. Legion re-engineers the Monte Carlo tree ...
- surveyMay 2018
A Survey of Symbolic Execution Techniques
ACM Computing Surveys (CSUR), Volume 51, Issue 3Article No.: 50, Pages 1–39https://doi.org/10.1145/3182657Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence of any ...
- research-articleMay 2018
Directer: A Parallel and Directed Fuzzing based on Concolic Execution
ICSIE '18: Proceedings of the 7th International Conference on Software and Information EngineeringPages 87–92https://doi.org/10.1145/3220267.3220272Fuzzing is a widely used technology to find vulnerabilities, but the current technology is mostly based on coverage and there are relatively few research in the field of directed fuzzing. In this paper, a parallelized testing technique combining ...
- research-articleJune 2017
System Service Call-oriented Symbolic Execution of Android Framework with Applications to Vulnerability Discovery and Exploit Generation
MobiSys '17: Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and ServicesPages 225–238https://doi.org/10.1145/3081333.3081361Android Application Framework is an integral and foundational part of the Android system. Each of the 1.4 billion Android devices relies on the system services of Android Framework to manage applications and system resources. Given its critical role, a ...
- research-articleAugust 2016
Smart fuzzing method for detecting stack‐based buffer overflow in binary codes
During the past decades several methods have been proposed to detect the stack‐based buffer overflow vulnerability, though it is still a serious threat to the computer systems. Among the suggested methods, various fuzzers have been proposed to detect this ...
- articleDecember 2015
An empirical investigation into path divergences for concolic execution using CREST
Security and Communication Networks (SACN), Volume 8, Issue 18Pages 3667–3681https://doi.org/10.1002/sec.1290Recently, concolic execution has become a hotspot in the domain of software testing and program analysis. However, a practical challenge, called path divergence, impairs the soundness and completeness of concolic execution. A path divergence indicates ...
- research-articleNovember 2015
Generating fixtures for JavaScript unit testing
ASE '15: Proceedings of the 30th IEEE/ACM International Conference on Automated Software EngineeringPages 190–200https://doi.org/10.1109/ASE.2015.26In today's web applications, JavaScript code interacts with the Document Object Model (DOM) at runtime. This runtime interaction between JavaScript and the DOM is error-prone and challenging to test. In order to unit test a JavaScript function that has ...
- ArticleSeptember 2014
Concolic Fault Localization
SCAM '14: Proceedings of the 2014 IEEE 14th International Working Conference on Source Code Analysis and ManipulationPages 135–144https://doi.org/10.1109/SCAM.2014.22An integral part of all debugging activities is the task of diagnosing the cause of an error. Most existing fault diagnosis techniques rely on the availability of high quality test suites because they work by comparing failing and passing runs to ...
- ArticleJune 2014
CRAXDroid: Automatic Android System Testing by Selective Symbolic Execution
SERE-C '14: Proceedings of the 2014 IEEE Eighth International Conference on Software Security and Reliability-CompanionPages 140–148https://doi.org/10.1109/SERE-C.2014.32Mobile devices such as smart phones and tablet PCs are becoming common personal devices. The business model of a central software market is also thriving and turning into a major distribution source of software packages on those devices. However, these ...
- research-articleOctober 2013
Simulating software behavior based on UML activity diagram
Internetware '13: Proceedings of the 5th Asia-Pacific Symposium on InternetwareArticle No.: 31, Pages 1–4https://doi.org/10.1145/2532443.2532465It is encouraged to develop practical approaches to ensure that the software artifacts are created as expected or defect-free as early as possible. In the industry, software analysis and testing techniques are widely used solutions for codes and ...
- ArticleNovember 2012
Repair with on-the-fly program analysis
HVC'12: Proceedings of the 8th international conference on Hardware and Software: verification and testingPages 56–71https://doi.org/10.1007/978-3-642-39611-3_11This paper presents a novel automatic repair approach for incorrect programs. It applies formal methods and analyzes program behavior only on demand. We argue that this is beneficial, especially if exhaustive program analysis is infeasible. Our approach ...
- short-paperSeptember 2011
Automatic structural testing with abstraction refinement and coarsening
ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineeringPages 400–403https://doi.org/10.1145/2025113.2025173White box testing, also referred to as structural testing, can be used to assess the validity of test suites with respect to the implementation. The applicability of white box testing and structural coverage is limited by the difficulty and the cost of ...