Stack Frame

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 3504 Experts worldwide ranked by ideXlab platform

Aviral Shrivastava - One of the best experts on this subject based on the ideXlab platform.

  • WCET-Aware Stack Frame Management of Embedded Systems Using Scratchpad Memories
    2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID), 2019
    Co-Authors: Yooseong Kim, Mohammad Khayatian, Aviral Shrivastava
    Abstract:

    Scratchpad memories (SPMs) provide a time-predictable alternative to caches but requires explicit management in the code. When the call Stack is stored in the SPM, Stack Frames need to be evicted to and restored from the main memory to avoid Stack overflow. We propose a technique to find optimal locations in the code to perform Stack management operations such that the worst-case execution time (WCET) is minimized.

  • VLSI Design - WCET-Aware Stack Frame Management of Embedded Systems Using Scratchpad Memories
    2019 32nd International Conference on VLSI Design and 2019 18th International Conference on Embedded Systems (VLSID), 2019
    Co-Authors: Yooseong Kim, Mohammad Khayatian, Aviral Shrivastava
    Abstract:

    Scratchpad memories (SPMs) provide a time-predictable alternative to caches but requires explicit management in the code. When the call Stack is stored in the SPM, Stack Frames need to be evicted to and restored from the main memory to avoid Stack overflow. We propose a technique to find optimal locations in the code to perform Stack management operations such that the worst-case execution time (WCET) is minimized.

Romain Péchoux - One of the best experts on this subject based on the ideXlab platform.

  • Sup-interpretations, a semantic method for static analysis of program resources
    ACM Transactions on Computational Logic, 2009
    Co-Authors: Jean-yves Marion, Romain Péchoux
    Abstract:

    The sup-interpretation method is proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. It has been introduced in order to increase the intensionality, that is the number of captured algorithms, of a previous method, the quasi-interpretations. Basically, a sup-interpretation provides an upper bound on the size of function outputs. A criterion, which can be applied to terminating as well as nonterminating programs, is developed in order to bound the Stack Frame size polynomially. Since this work is related to quasi-interpretation, dependency pairs, and size-change principle methods, we compare these notions obtaining several results. The first result is that, given any program, we have heuristics for finding a sup-interpretation when we consider polynomials of bounded degree. Another result consists in the characterizations of the sets of functions computable in polynomial time and in polynomial space. A last result consists in applications of sup-interpretations to the dependency pair and the size-change principle methods.

  • Sup-interpretations, a semantic method for static analysis of program resources
    ACM Transactions on Computational Logic, 2009
    Co-Authors: Jean-yves Marion, Romain Péchoux
    Abstract:

    The sup-interpretation method is proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. It has beeen introduced in order to increase the intensionality, that is the number of captured algorithms, of a previous method, the quasi-interpretations. Basically, a sup-interpretation provides an upper bound on the size of function outputs. A criterion, which can be applied to terminating as well as non-terminating programs, is developed in order to bound the Stack Frame size polynomially. Since this work is related to quasi-interpretation, dependency pairs and size-change principle methods, we compare these notions obtaining several results. The first result is that, given any program, we have heuristics for nding a sup-interpretation when we consider polynomials of bounded degree. Another result consists in the characterizations of the sets of functions computable in polynomial time and in polynomial space. A last result consists in applications of sup-interpretations to the dependency pair and the size-change principle methods.

  • Quasi-friendly sup-interpretations
    arXiv: Computational Complexity, 2006
    Co-Authors: Jean-yves Marion, Romain Péchoux
    Abstract:

    In a previous paper, the sup-interpretation method was proposed as a new tool to control memory resources of first order functional programs with pattern matching by static analysis. Basically, a sup-interpretation provides an upper bound on the size of function outputs. In this former work, a criterion, which can be applied to terminating as well as non-terminating programs, was developed in order to bound polynomially the Stack Frame size. In this paper, we suggest a new criterion which captures more algorithms computing values polynomially bounded in the size of the inputs. Since this work is related to quasi-interpretations, we compare the two notions obtaining two main features. The first one is that, given a program, we have heuristics for finding a sup-interpretation when we consider polynomials of bounded degree. The other one consists in the characterizations of the set of function computable in polynomial time and in polynomial space.

  • FLOPS - Resource analysis by sup-interpretation
    Functional and Logic Programming, 2006
    Co-Authors: Jean-yves Marion, Romain Péchoux
    Abstract:

    We propose a new method to control memory resources by static analysis. For this, we introduce the notion of sup-interpretation which bounds from above the size of function outputs. We establish a criteria for which the Stack Frame size is polynomially bounded. The criteria analyses terminating as well as non-terminating programs. This method applies to first order functional programming with pattern matching. This work is related to quasi-interpretations but we are now able to determine resources of different algorithms and it is easier to perform an analysis with this new tools.

Norman F. Ramsey - One of the best experts on this subject based on the ideXlab platform.

  • CC - Declarative Composition of Stack Frames
    Lecture Notes in Computer Science, 2004
    Co-Authors: Christian Lindig, Norman F. Ramsey
    Abstract:

    When a compiler translates a procedure, it must lay out the procedure’s Stack Frame in a way that respects the calling convention. Many compilers respect the convention either by restricting the order in which slots can be allocated or by using different abstractions ad hoc for allocating in different regions of a Frame. Such techniques cause the implementation of the layout to be spread over much of the compiler, making it difficult to maintain and verify. We have concentrated the implementation of layout into a single, unifying abstraction: the block. The block abstraction decouples layout from slot allocation. Stack-Frame layout is specified in one central place, and even complex layouts are achieved by composing blocks using only two simple operators. Our implementation is used in the Quick C– compiler to support multiple calling conventions on multiple architectures.

Tohru Ishihara - One of the best experts on this subject based on the ideXlab platform.

  • Optimal Stack Frame placement and transfer for energy reduction targeting embedded processors with scratch-pad memories
    2009 IEEE ACM IFIP 7th Workshop on Embedded Systems for Real-Time Multimedia, 2009
    Co-Authors: Lovic Gauthier, Tohru Ishihara
    Abstract:

    Memory accesses are a major cause of energy consumption for embedded systems and the Stack is a frequent target for data accesses. This paper presents a fully software technique which aims at reducing the energy consumption related to the Stack by allocating and transferring Frames or part of Frames between a scratch-pad memory and the main memory. The technique utilizes an integer linear formulation of the problem in order to find at compile time the optimal management for the Frames. The technique is also extended to integrate existing methods which deal with static memory objects and others which deal with recursive functions. Experimental results show that our technique effectively exploits an available scratch-pad memory space which is only one half of what the Stack requires to reduce the Stack-related energy consumption by more than 90% for several applications and on an average of 84% compared to the case where all the Frames of the Stack are placed into the main memory.

  • ESTImedia - Optimal Stack Frame placement and transfer for energy reduction targeting embedded processors with scratch-pad memories
    2009 IEEE ACM IFIP 7th Workshop on Embedded Systems for Real-Time Multimedia, 2009
    Co-Authors: Lovic Gauthier, Tohru Ishihara
    Abstract:

    Memory accesses are a major cause of energy consumption for embedded systems and the Stack is a frequent target for data accesses. This paper presents a fully software technique which aims at reducing the energy consumption related to the Stack by allocating and transferring Frames or part of Frames between a scratch-pad memory and the main memory. The technique utilizes an integer linear formulation of the problem in order to find at compile time the optimal management for the Frames. The technique is also extended to integrate existing methods which deal with static memory objects and others which deal with recursive functions. Experimental results show that our technique effectively exploits an available scratch-pad memory space which is only one half of what the Stack requires to reduce the Stack-related energy consumption by more than 90% for several applications and on an average of 84% compared to the case where all the Frames of the Stack are placed into the main memory.

Byung Ki Kim - One of the best experts on this subject based on the ideXlab platform.

  • Kimchi : A Binary Rewriting Defense Against Format String Attacks
    Lecture Notes in Computer Science, 2006
    Co-Authors: Jin Ho You, Seong Chae Seo, Young Dae Kim, Jun Yong Choi, Sang Jun Lee, Byung Ki Kim
    Abstract:

    We propose a binary rewriting system called Kimchi that modifies binary programs to protect them from format string attacks in runtime. Kimchi replaces the machine code calling conventional printf with code calling a safer version of printf, safe printf, that prevents its format string from accessing arguments exceeding the Stack Frame of the parent function. With the proposed static analysis and binary rewriting method, it can protect binary programs even if they do not use the Frame pointer register or link the printf code statically. In addition, it reduces the performance overhead of the patched program by not modifying the calls to printf with the format string argument located in the read-only memory segment, which are not vulnerable to the format. string attack.

  • WISA - Kimchi: a binary rewriting defense against format string attacks
    Information Security Applications, 2006
    Co-Authors: Jin Ho You, Seong Chae Seo, Young Dae Kim, Jun Yong Choi, Sang Jun Lee, Byung Ki Kim
    Abstract:

    We propose a binary rewriting system called Kimchi that modifies binary programs to protect them from format string attacks in runtime. Kimchi replaces the machine code calling conventional printf with code calling a safer version of printf, safe_printf, that prevents its format string from accessing arguments exceeding the Stack Frame of the parent function. With the proposed static analysis and binary rewriting method, it can protect binary programs even if they do not use the Frame pointer register or link the printf code statically. In addition, it reduces the performance overhead of the patched program by not modifying the calls to printf with the format string argument located in the read-only memory segment, which are not vulnerable to the format string attack.

  • CIS (2) - Protection against format string attacks by binary rewriting
    Computational Intelligence and Security, 2005
    Co-Authors: Jin Ho You, Seong Chae Seo, Young Dae Kim, Jun Yong Choi, Sang Jun Lee, Byung Ki Kim
    Abstract:

    We propose a binary rewriting system called Kimchi that modifies binary programs to protect them from format string attacks in runtime. Kimchi replaces the machine code calling conventional printf with code calling a safer version of printf, safe_printf, that prevents its format string from accessing arguments exceeding the Stack Frame of the parent function. With the proposed static analysis and binary rewriting method, it can protect binary programs even if they do not use the Frame pointer register or link the printf code statically. In addition, it replaces the printf calls without extra format arguments like printf(buffer) with the safe code printf(”%s”, buffer), which are not vulnerable, and reduces the performance overhead of the patched program by not modifying the calls to printf with the format string argument located in the read-only memory segment, which are not vulnerable to the format string attack.