scholarly journals Improving the Accuracy of Integer Signedness Error Detection Using Data Flow Analysis

Author(s):  
Hao Sun ◽  
Chao Su ◽  
Yue Wang ◽  
Qingkai Zeng
2015 ◽  
Vol 25 (09n10) ◽  
pp. 1573-1593
Author(s):  
Hao Sun ◽  
Chao Su ◽  
Yue Wang ◽  
Qingkai Zeng

Integer signedness errors can be exploited by adversaries to cause severe damages to computer systems. Despite the significant advances in automating the detection of integer signedness errors, accurately differentiating exploitable and harmful signedness errors from unharmful ones is an important challenge. In this paper, we present the design and implementation of SignFlow, an instrumentation-based integer signedness error detector to reduce the reports for unharmful signedness errors. SignFlow first utilizes static data flow analysis to identify unharmful integer sign conversions from the view of where the source operands originate and whether the conversion results can propagate to security-related program points, and then inserts security checks for the remaining conversions so as to accomplish runtime protection. We evaluated SignFlow on 8 real-world harmful integer signedness bugs, SPECint 2006 benchmarks together with 5 real-world applications. The experimental results show that SignFlow correctly detected all harmful integer signedness bugs (i.e. no false negatives) and achieved a reduction of 41% in false positives over IntFlow, the state of the art.


Author(s):  
Raghavan Komondoor ◽  
K. Vasanta Lakshmi ◽  
Deva P. Seetharam ◽  
Sudha Balodia

2008 ◽  
Vol 17 (03) ◽  
pp. 259-282 ◽  
Author(s):  
RANIA KHALAF ◽  
OLIVER KOPP ◽  
FRANK LEYMANN

Continuous process improvement (CPI) may require a BPEL process to be split amongst different participants. In this paper, we enable splitting standard BPEL — without requiring any new middleware for the case of flat flows. The solution also supports splitting loops and scopes that have compensation and/or fault handlers. When splitting loops and scopes, we extend existing Web services standards and frameworks in a standard compliant manner in order to support the resulting split control (not data) between the fragments. Data dependencies, however, are handled directly using BPEL constructs placed in the fragments even for split loops and scopes. We present a solution that uses a BPEL process, partition information, and results of data-flow analysis to produce a BPEL process for each participant. The collective behavior of these participant processes recreates the control and data flow of the non-split process. Previous work presented process splitting using a variant of BPEL where data flow is modeled explicitly using "data links". We reuse the control flow aspect from that work as well as the control flow aspect from our work on splitting loops and scopes, focusing in this paper on maintaining the data dependencies in standard BPEL.


Sign in / Sign up

Export Citation Format

Share Document