Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 62 papers for “null pointer dereference”

Accelerating Static Null Pointer Dereference Detection with Parallel Computing

Rulin Xu, Luohui Chen, Ruyi Zhang et al. · 2024

High-precision static analysis can effectively detect Null Pointer Dereference (NPD) vulnerabilities in C language, but the performance overhead is significant. In recent years, researchers have attempted to enhance the efficiency of static analysis by leveraging multicore resources. However, due to complex dependencies in the analysis process, the parallelization of static value-flow NPD analysis for large-scale software still faces significant challenges. It is difficult to achieve a good balance between detection efficiency and accuracy, which impacts its application.This paper presents PANDA, the first parallel detector for high-precision static value-flow NPD analyzer in the C language. The core idea of PANDA is to utilize dependency analysis to ensure high precision while decoupling the strong dependencies between static value-flow analysis steps. This transforms the traditionally challenging-to-parallelize NPD analysis into two parallelizable algorithms: function summarization and combined query-based vulnerability analysis. PANDA introduces a task-level parallel framework and enhances it with a dynamic scheduling method to parallel schedule the above two key steps, significantly improving the performance and scalability of memory vulnerability detection.Fully implemented within the LLVM framework (version 15.0.7), PANDA demonstrates a significant advantage in balancing accuracy and efficiency compared to current popular open-source detection tools. In precision-targeted benchmark tests, PANDA maintains a false positive rate within 3.17% and a false negative rate within 5.16%; in historical CVE detection rate tests, its recall rate far exceeds that of comparative open-source tools. In performance evaluations, compared to its serial version, PANDA achieves up to an 11.23-fold speedup on a 16-node server, exhibiting outstanding scalability.

Cited by 1

Enhanced LLM-Based Framework for Predicting Null Pointer Dereference in Source Code

Md. Fahim Sultan, Tasmin Karim, Md. Shazzad Hossain Shaon et al. · arXiv (Cornell University) · 2024

Software security is crucial in any field where breaches can exploit sensitive data, and lead to financial losses. As a result, vulnerability detection becomes an essential part of the software development process. One of the key steps in maintaining software integrity is identifying vulnerabilities in the source code before deployment. A security breach like CWE-476, which stands for NULL pointer dereferences (NPD), is crucial because it can cause software crashes, unpredictable behavior, and security vulnerabilities. In this scientific era, there are several vulnerability checkers, where, previous tools often fall short in analyzing specific feature connections of the source code, which weakens the tools in real-world scenarios. In this study, we propose another novel approach using a fine-tuned Large Language Model (LLM) termed "DeLLNeuN". This model leverages the advantage of various layers to reduce both overfitting and non-linearity, enhancing its performance and reliability. Additionally, this method provides dropout and dimensionality reduction to help streamline the model, making it faster and more efficient. Our model showed 87% accuracy with 88% precision using the Draper VDISC dataset. As software becomes more complex and cyber threats continuously evolve, the need for proactive security measures will keep growing. In this particular case, the proposed model looks promising to use as an early vulnerability checker in software development.

Cited by 0Open access

binary_cmc

An, Xiaoxin · Figshare · 2023

WinCheck is a model checker that automatically detects pointer-related security properties on Windows executables. The validated properties include buffer overflow, user-after-free, and null-pointer dereference.

Cited by 0Open access

binary_cmc

An, Xiaoxin · Figshare · 2023

WinCheck is a model checker that automatically detects pointer-related security properties on Windows executables. The validated properties include buffer overflow, user-after-free, and null-pointer dereference.

Cited by 0Open access

binary_cmc

Xiaoxin An · Open MIND · 2023

WinCheck is a model checker that automatically detects pointer-related security properties on Windows executables. The validated properties include buffer overflow, user-after-free, and null-pointer dereference.

Cited by 0Open access

PSE

Roman Manevich, Manu Sridharan, Stephen Adams et al. · ACM SIGSOFT Software Engineering Notes · 2004

In this paper, we describe PSE (Postmortem Symbolic Evaluation), a static analysis algorithm that can be used by programmers to diagnose software failures. The algorithm requires minimal information about a failure, namely its kind (e.g. NULL dereference), and its location in the program's source code. It produces a set of execution traces along which the program can be driven to the given failure. PSE tracks the flow of a single value of interest from the point in the program where the failure occurred back to the points in the program where the value may have originated. The algorithm combines a novel dataflow analysis and memory alias analysis in a manner that allows for precise exploration of the program's behavior in polynomial time. We have applied PSE to the problem of diagnosing potential NULL-dereference errors in a suite of C programs, including several SPEC benchmarks and a large commercial operating system. In most cases, the analysis is able to either validate a pointer dereference, or find precise error traces demonstrating a NULL value for the pointer, in less than a second.

Cited by 20

althonos/pyfastani: v0.6.0

Martin Larralde · Zenodo (CERN European Organization for Nuclear Research) · 2024

Changed Rewrite package build using scikit-build-core. Update documentation to use the PyData theme. Bump embedded cpu-features library to v0.9.0. Added Support for Python 3.13. Fixed Null pointer dereference in FASTA parser deallocation. Removed Support for Python 3.6.

Cited by 0Open access

New OpenSSL Vulnerabilities

Communication Openssl · 2014

On June 5th, HP Networking support was notified of additional vulnerabilities discovered by security researchers in the open-source and widely-used OpenSSL toolkit: SSL/TLS MITM vulnerability (CVE-2014-0224) DTLS recursion flaw (CVE-2014-0221) DTLS invalid fragment vulnerability (CVE-2014-0195) SSL_MODE_RELEASE_BUFFERS NULL pointer dereference (CVE-2014-

Cited by 0

DART: Dynamic Animation and Robotics Toolkit

Jeongseok Lee, Michael X. Grey, Sehoon Ha et al. · Zenodo (CERN European Organization for Nuclear Research) · 2026

Constraint Fix crash when joint limits are invalid (lower > upper) by emitting a warning and skipping limit enforcement: gz-physics#846 Validate contact surface parameters to prevent LCP solver crashes: #2435 Dynamics Validate SphereShape radius to prevent assertion failures with NaN/Inf/non-positive values: #2441 Parsers Fix null pointer dereference in XmlHelpers getValue* functions: #2429

Cited by 0Open access

HTFuzz: Heap Operation Sequence Sensitive Fuzzing

Yuanping Yu, Xiangkun Jia, Yuwei Liu et al. · 2022

Heap-based temporal vulnerabilities (i.e., use-after-free, double-free and null pointer dereference) are highly sensitive to heap operation (e.g., memory allocation, deallocation and access) sequences. To efficiently find such vulnerabilities, traditional code coverage-guided fuzzing solutions could be promoted by integrating heap operation sequence feedback. But current sequence sensitive solutions have limitations in practice.

Cited by 13Open access

Automatic Repair Method for Null Pointer Dereferences Guided by Program Dependency Graph

Yukun Dong, Yuxue Sun, Xun Wang · Symmetry · 2022

Automatic program repair (APR) is an effective technique for eliminating defects. The repair of null pointer dereferences, as the most common defects, requires accurate dependencies among statements to determine where to repair and how to repair. In order to precisely identify the data and control dependencies, the program dependency graph is adopted. Based on the symmetry among a large number of patches, we propose four repair mechanisms in this passage, namely the assignment mechanism, restraint mechanism, evading mechanism, and transfer mechanism, and employ the decision tree algorithm to match the best repair mechanism for defects. The four repair mechanisms locate the accurate repair position using the program dependency graph, and generate candidate patches by reassigning the null pointer with an appropriate value, making a judgment for the null value in advance, or throwing an exception. Our method was implemented in the repair tool DTSFix, which supports the automatic repair of null pointer dereference in Java programs. The experimental result on Defects4J shows that 73% of null pointer dereferences are successfully repaired by DTSFix, and that the generated candidate patches do not contain over-fitting patches.

Cited by 3Open access

Static Analysis of Go Maps

Daniil Nikolaevich Subbotin, Alexey Borodin, Varvara Dvortsova · Proceedings of the Institute for System Programming of RAS · 2024

The paper describes static analysis of map in the Go language for dereferencing a null pointer when extracting a key from a map. The work has been done within the Svace static analyzer. We begin with introducing Svace intermediate representation and algorithms. Then we describe the IR changes needed for modeling Go maps and their semantics. We explain how intraprocedural analysis is performed and how the null dereference detector works. Then we proceed with a summary-based interprocedural analysis. We show evaluation results on a wide range of open source projects.

Cited by 0Open access

Automatically Finding Bugs in Open Source Programs

Nesov, Vladimir · Technische Universität Berlin – Universitätsbibliothek · 2024

We consider properties desirable for static analysis tools targeted at finding bugs in the real open source code, and review tools based on various approaches to defect detection. A static analysis tool is described, that includes a framework for flow-sensitive interprocedural dataflow analysis and scales to analysis of large programs. The framework enables implementation of multiple checkers searching for specific bugs, such as null pointer dereference and buffer overflow, abstracting from the checkers details such as alias analysis.

Cited by 0Open access

Preventing Exploits Against Software of Uncertain Provenance (PEASOUP)

David Melski · 2015

Abstract : We describe the results of the research and development of PEASOUP (Preventing Exploits Against Software of Uncertain Provenance), a technology that enables the safe execution of software executables. PEASOUP provides the following capabilities: prevents exploits of number-handling weaknesses and memory-safety weaknesses; prevents OS command injections, OS command argument injections, SQL injections, and denial-of-service exploits based on inducing a null-pointer dereference; and prevents any exploit based on arc-injection or code-injection, regardless of the type of vulnerability targeted for attack. PEASOUP also offers experimental protection against exploit of many concurrency and resource drain vulnerabilities, including: file-system Time-Of-Check-to-Time-Of-Use (TOCTOU) vulnerabilities, use of non-reentrant functions in signal handlers, deadlock vulnerabilities, atomicity violations, memory leaks, and file-handle leaks. The PEASOUP effort advanced the state-of-the-art in automatic machine-code analysis, diversification, confinement, and remediation. Specific results include: a technique for preventing command injection attacks inspired by DNA Shotgun Sequencing, a technique that often allows server programs to remain operational after an attempted null-pointer dereference, improved integer-error analyses, improved protections for heap- and stack-allocated memory, novel techniques for analyzing file input types, and a superior design for a software dynamic translator that prevents attacks against the translator.

Cited by 0

ECEASST Automatically Finding Bugs in Open Source Programs

Vladimir Nesov, Luis Barbosa, Antonio Cerone et al. · 2015

Abstract: We consider properties desirable for static analysis tools targeted at find-ing bugs in the real open source code, and review tools based on various approaches to defect detection. A static analysis tool is described, that includes a framework for flow-sensitive interprocedural dataflow analysis and scales to analysis of large programs. The framework enables implementation of multiple checkers searching for specific bugs, such as null pointer dereference and buffer overflow, abstracting from the checkers details such as alias analysis.

Cited by 0

\tIncremental algorithms for inter-procedural analysis of safety properties

Christopher L. Conway, Kedar S. Namjoshi, Dennis Dams et al. · 2005

Automaton-based static program analysis has proved to be an effective tool for bug finding. Current tools generally re-analyze a program from scratch in response to a change in the code, which can result in much duplicated effort. We present an inter-procedural algorithm that analyzes incrementally in response to program changes and present experiments for a null-pointer dereference analysis. It shows a substantial speed-up over re-analysis from scratch, with a manageable amount of disk space used to store information between analysis runs.

Cited by 0

Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions

Dongfang Xie, Bihuan Chen, Kaifeng Huang et al. · 2024

Null pointer dereference raises Null Pointer Exceptions (NPEs). There are two groups of approaches to detect NPEs. Type-based approaches carry out strict type-based null safety checking. They heavily rely on annotations, and thus produce many false positives. Dataflow-based approaches leverage static forward and/or backward dataflow analysis. They mostly have a limited capability in tracking fields and interprocedural analysis, and introduce false positives and false negatives. To address these drawbacks, we propose Wheeljack to detect NPEs for Java. It does not rely on annotations, and hence can work effectively under a lack of annotations. It leverages our novel abstraction of nullness status to enhance field tracking, and our novel invocation analysis (capturing change to return value and side effect of an invocation) to enhance interprocedural analysis. Our evaluation on 28 Java projects has demonstrated that Wheeljack can mostly outperform the four state-of-the-art NPE detectors in recall without sacrificing precision. 5 and 2 new NPEs have been confirmed and fixed by developers after we submit 8 issues.

Cited by 1

MONOTONIC ABSTRACTION FOR PROGRAMS WITH MULTIPLY-LINKED STRUCTURES

Parosh Aziz Abdulla, Jonathan Cederberg, Tomáš Vojnar · International Journal of Foundations of Computer Science · 2013

We investigate the use of monotonic abstraction and backward reachability analysis as means of performing shape analysis on programs with multiply pointed structures. By encoding the heap as a vertex- and edge-labeled graph, we can model the low level behaviour exhibited by programs written in the C programming language. Using the notion of signatures, which are predicates that define sets of heaps, we can check properties such as absence of null pointer dereference and shape invariants. We report on the results from running a prototype based on the method on several programs such as insertion into and merging of doubly-linked lists.

Cited by 6Open access