Buffer overflows are the most common source of security vulnerabilities in C programs. This class of vulnerability, which is found in both legacy and modern software, costs the software industry hundreds of millions of dollars per year.The most common type of buffer overflow is the runtime stack overflow. It is common because programmers often use stack allocated arrays. This enables the attacker to change a program's control flow by writing beyond the boundary of an array onto a return address on the run-time stack. If the arrays are repositioned to the heap at compile time, none of these attacks succeed. Furthermore, repositioning buffers to the heap should perturb the heap memory enough to prevent many heap overflows as well.We have created a tool called Gemini that repositions stack allocated arrays at compile time using TXL. The transformation preserves the semantics of the program with a small performance penalty. This paper discusses the semantics-preserving transformation of stack allocated arrays to heap allocated "pointers to arrays". A program that is amenable to a buffer overflow attack and several Linux programs are used as examples to demonstrate the effectiveness and overhead of our technique.
We propose two fixed-parameter tractable algorithms for the weighted Max-Cut problem on embedded 1-planar graphs parameterized by the crossing number k of the given embedding. A graph is called 1-planar if it can be drawn in the plane with at most one crossing per edge. Our algorithms recursively reduce a 1-planar graph to at most 3 k planar graphs, using edge removal and node contraction. Our main algorithm then solves the Max-Cut problem for the planar graphs using the FCE-MaxCut introduced by Liers and Pardella [21]. In the case of non-negative edge weights, we suggest a variant that allows to solve the planar instances with any planar Max-Cut algorithm. We show that a maximum cut in the given 1-planar graph can be derived from the solutions for the planar graphs. Our algorithms compute a maximum cut in an embedded weighted 1-planar graph with n nodes and k edge crossings in time O(3 k · n 3/2 log n). An extended abstract of this work appeared in [8]. † Corresponding author [3]), which are of high interest in physics. Besides the theoretical merits, Ising spin glass models need to be solved in adiabatic quantum computation [23]. Other applications occur in the layout of electronic circuits [6,10].The Max-Cut problem has been shown to be NP-hard for general graphs [19]. Papadimitriou and Yannakakis [28] have shown that the Max-Cut problem is even APXhard, i.e., there does not exist a polynomial-time approximation scheme, unless P=NP. Goemans and Williamson suggested a randomized constant factor approximation algorithm [13], which has been derandomized by Mahajan and Ramesh [22] and has performance guarantee 0.87856.In the unweighted case, i.e., all weights are one, the problem is also called the simple max-cut problem or the maximum bipartite subgraph problem. It is well known that in this setting always a cut of size at least |E|/2 + (|V | − 1)/4 exists that can be computed in linear time (see, e.g., [30]). This bound is called the Edwards-Erdős bound and is tight for odd cliques. Recently, Etscheid and Mnich [11] have suggested an algorithm for the Max-Cut parameterized above Edwards-Erdős bound problem thus improving a result by Crowston et al. [7]. This problem asks if G has a cut exceeding the above bound by an amount of parameter k.There are a number of special cases, for which the weighted max-cut problem can be solved in polynomial time. The most prominent case arises if the weights of all edges are negative, since then the problem can be solved, e.g., via network flow. Other special cases are, e.g., graphs without long odd cycles [14] or weakly bipartite graphs [15].Another prominent case appears for planar input graphs. Orlova and Dorfman [26] and Hadlock [16] have shown that the Max-Cut problem can be solved in polynomial time for unweighted planar graphs. Their algorithms can be extended to work on weighted planar graphs (e.g., Mutzel [25]). The currently fastest algorithms have been suggested by Shih et al. [29] and by Liers and Pardella [21]. These results have been extended to the classes of gr...
Given an edge-weighted graph G on n nodes, the NP-hard Max-Cut problem asks for a node bipartition such that the sum of edge weights joining the different partitions is maximized. We propose a fixed-parameter tractable algorithm parameterized by the number k of crossings in a given drawing of G. Our algorithm achieves a running time of O(2 k · p(n + k)), where p is the polynomial running time for planar Max-Cut. The only previously known similar algorithm [8] is restricted to embedded 1-planar graphs (i.e., at most one crossing per edge) and its dependency on k is of order 3 k . Finally, combining this with the fact that crossing number is fixed-parameter tractable w.r.t. itself, we see that Max-Cut is fixed-parameter tractable w.r.t. the crossing number, even without a given drawing. Moreover, the results naturally carry over to the minor crossing number. arXiv:1903.06061v2 [cs.DS] 6 Sep 2019QUBO such as multicommodity-flow problems, maximum clique, vertex cover, scheduling, and many others. Also see [10,11] for a more in-depth overview on applications.The Max-Cut problem has been shown to be NP-hard for general graphs [24]. Papadimitriou and Yannakakis [36] have shown that the Max-Cut problem is even APX-hard, i.e., there does not exist a polynomial-time approximation scheme unless P=NP. Goemans and Williamson proposed a randomized constant-factor approximation algorithm [17], which has been derandomized by Mahajan and Ramesh [31], achieving a ratio of 0.87856. Several special cases of the problem allow polynomial algorithms: If the weights of all edges are negative we obtain a Min-Cut problem, which can be solved, e.g., via network flow. Other special cases are, e.g., graphs without long odd cycles [20] or weakly bipartite graphs [19]. The case of planar input graphs is of particular interest. Orlova and Dorfman [34] and Hadlock [21] have shown how to solve Max-Cut in polynomial time for unweighted planar graphs. Those algorithms can be extended to weighted planar graphs; the currently fastest algorithms for the weighted case have been suggested by Shih et al. [38] and by Liers and Pardella [30], and achieve a running time of p(n) = O(n 3/2 log n) on planar graphs with n nodes. Barahona has shown that the planarity condition can be relaxed to graphs not contractible to K 5 [3] and to toroidal graphs (i.e., graphs that can be embedded on a genus-1 surface) with edge weights ±1 [2].Similarly, it has been shown that Max-Cut can be solved in polynomial time if the graph can be embedded on a surface of constant genus g [14,15]. However, the edge-weights have to be restricted to integers whose absolute values are bounded by a polynomial in the input. The central idea of this algorithm is to write the generating function of cuts as a linear combination of 4 g Pfaffians. This algorithm is in fact highly non-trivial to realize: In order to obtain an implementable algorithm, [15] reports on a scheme, which depends on the existence of sufficiently many prime numbers within a given interval, which cannot be guaranteed in ...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.