Spelling suggestions: "subject:"control low"" "subject:"control flow""
11 |
Uma arquitetura de baixo acoplamento para execução de padrões de controle de fluxo em grades / A loosely coupled architecture to run workflow control-flow patterns in gridAlexandre Ricardo Nardi 27 April 2009 (has links)
O uso de padrões de workflow para controle de fluxo em aplicações de e-Science resulta em maior produtividade por parte do cientista, permitindo que se concentre em sua área de especialização. Todavia, o uso de padrões de workflow para paralelização em grades permanece uma questão em aberto. Este texto apresenta uma arquitetura de baixo acoplamento e extensível, para permitir a execução de padrões com ou sem a presença de grade, de modo transparente ao cientista. Descreve também o Padrão Junção Combinada, que atende a diversos cenários de paralelização comumente encontrados em aplicações de e-Science. Com isso, espera-se auxiliar o trabalho do cientista, oferecendo maior flexibilidade na utilização de grades e na representação de cenários de paralelização. / The use of workflow control-flow patterns in e-Science applications results in productivity improvement, allowing the scientist to concentrate in his/her own research area. However, the use of workflow control-flow patterns for execution in grids remains an opened question. This work presents a loosely coupled and extensible architecture, allowing use of patterns with or without grids, transparently to the scientist. It also describes the Combined Join Pattern, compliant to parallelization scenarios, commonly found in e-Science applications. As a result, it is expected to help the scientist tasks, giving him or her greater flexibility in the grid usage and in representing parallelization scenarios.
|
12 |
Usage of Dynamic Analysis to Strengthen Control-Flow AnalysisPriyam Biswas (9761951) 14 December 2020 (has links)
<div>System programming languages such as C and C++ are ubiquitously used for systems software such as browsers and servers due to their flexibility and high performance. However, this flexibility comes with a price of lack of memory and type safety.</div><div><br></div><div>Control-Flow Hijacking (CFH), by taking advantage of the inherent lack of memory and type safety, has become one of the most common attack vectors against C/C++ programs. In such attacks, an attacker attempts to divert the normal control flow of the program to an attacker-controlled location. The most prominent defense against these kind of attacks is Control-Flow Integrity (CFI), which restricts the attack surface by limiting the set of possible targets for each indirect control-flow transfer. However, current analyses for the CFI target sets are highly conservative. Due to the ambiguity and imprecision in the analyses, CFI restricts adversaries to an over-approximation of the possible targets of individual indirect call sites. State-of-the-art CFI approaches fail to protect against special attack classes such as over-writing variadic function arguments. Furthermore, mitigation of control-flow attacks is not explored to its full potential in the context of language boundaries in current literature. Hence, we need effective solution to improve the precision of the CFI approaches as well as strong protection mechanisms against commonly abused corner cases.</div><div><br></div><div>We leverage the effectiveness of dynamic analysis in deriving a new approach to efficiently mitigate control-flow hijacking attacks. We present Ancile, a novel mechanism to improve the precision of the CFI mechanism by debloating any extraneous targets from the indirect control-flow transfers. We replaced the traditional static analysis approach for target discovery with seed demonstrated fuzzing. We have evaluated the effectiveness of our proposed mechanism with standard SPEC CPU benchmarks and other popular C and C++ applications.</div><div><br></div><div>To ensure complete security of C and C++ programs, we need to shield commonly exploited corners of C/C++ such as variadic functions. We performed extensive case studies to show the prevalence of such functions and their exploits. We also developed a sanitizer, HexVASAN, to effectively type-check and prevent any attack via variadic functions. CFH attacks, by abusing the difference of managed languages and their underlying system languages, are very frequent in client and server side programs. In order to safe-guard the control-flows in language boundaries, we propose a new mechanism, FitJit, to enforce type integrity. Finally, to understand the effectiveness of the dynamic analysis, we present Artemis, a comprehensive study of binary analysis on real world applications.</div>
|
13 |
Water Storage Capacity and Flow Dynamics in a Papyrus Wetland, Uganda : Implications for Studies of Water Treatment EffectsAsp, Karl January 2009 (has links)
<p><!--[if !mso]> <object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object><mce:style><! st1\:*{behavior:url(#ieooui) } --></p><p>Hydrological investigations were performed in the Lubigi papyrus wetland in suburban Kampala, Uganda, impacted by human encroachment for settlement and agriculture. The first aim was to investigate the water flow variations and the dampening effect of the wetland. A second aim was to estimate the effective wetland volume and area, and relate this to the wetland function for treatment of the suburban runoff. A study site with well defined inflows and outflows was chosen, and three transects were cut through the papyrus to be able to study the water movement beneath the floating papyrus mat. Water flow measurements showed a flow dampening effect of the wetland on peak flows after rains, and the water balance revealed that the precipitation on the wetland was only 4 % of the inflow during the study. The tracer added at the inlet was rapidly detected downstream in the canal in the middle of the wetland, indicating a strong short-circuiting effect of the human made canal. At the outlet the tracer concentration was lower than the detection limit, suggesting a good mixing in the downstream part of the wetland, which was also supported by other water quality measurements in the transects. Ammonium-N concentrations at the inflow and outflow indicated a net export of ammonium-N, but the observed flow variations suggest that intensive water sampling campaigns are necessary for a proper evaluation of the water treatment function. The calculated effective volume and area amounted to 74 and 46 %, respectively, of the theoretically estimated, with a corresponding loss in the flow dampening and water treatment function of the wetland.</p><p> </p> / Rapporten är ett resultat av ett Minor Field Study stipendium finansierad av Sida.
|
14 |
Advanced Concepts in Asynchronous Exception HandlingKrischer, Roy January 2010 (has links)
Asynchronous exception handling is a useful and sometimes necessary alternative form of communication among threads. This thesis examines and classifies general concepts related to asynchrony, asynchronous propagation control, and how asynchronous exception handling affects control flow. The work covers four advanced topics affecting asynchronous exception-handling in a multi-threaded environment.
The first topic is concerned with the non-determinism that asynchronous exceptions introduce into a program's control-flow because exceptions can be
propagated at virtually any point during execution. The concept of asynchronous propagation control, which restricts the set of exceptions that can be propagated, is examined in depth. Combining it with a restriction of asynchrony that permits propagation of asynchronous exceptions only at certain well-defined (poll) points can re-establish sufficient determinism to verify a program's correctness, but introduces overhead, as well as a delay between the delivery of an asynchronous exception and its propagation. It also disturbs a programmer's intuition about asynchronous propagation in the program, and requires the use of programming idioms to avoid errors.
The second topic demonstrates how a combined model of full and restricted asynchrony can be safely employed, and thus, allow for a more intuitive use of asynchronous propagation control, as well as potentially improve performance.
The third topic focuses on the delay of propagation that is introduced when a thread is blocked, i.e., on concurrency constructs that provide mutual exclusion or synchronization. An approach is presented to transparently unblock threads so propagation of asynchronous termination and resumption
exceptions can begin immediately. The approach does not require additional syntax, simplifies certain programming situations, and can improve performance.
The fourth topic explores usability issues affecting the understanding of (asynchronous) exception handling as a language feature.
To overcome these issues, tools and language features are presented that help in understanding exception handling code by providing additional run-time information, as well as assist in testing.
For all topics, the necessary extensions to the syntax/semantics of the
language are discussed; where applicable, a prototypical implementation is presented, with examples that demonstrate the benefits of the new approaches.
|
15 |
Water Storage Capacity and Flow Dynamics in a Papyrus Wetland, Uganda : Implications for Studies of Water Treatment EffectsAsp, Karl January 2009 (has links)
<!--[if !mso]> <object classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object><mce:style><! st1\:*{behavior:url(#ieooui) } --> Hydrological investigations were performed in the Lubigi papyrus wetland in suburban Kampala, Uganda, impacted by human encroachment for settlement and agriculture. The first aim was to investigate the water flow variations and the dampening effect of the wetland. A second aim was to estimate the effective wetland volume and area, and relate this to the wetland function for treatment of the suburban runoff. A study site with well defined inflows and outflows was chosen, and three transects were cut through the papyrus to be able to study the water movement beneath the floating papyrus mat. Water flow measurements showed a flow dampening effect of the wetland on peak flows after rains, and the water balance revealed that the precipitation on the wetland was only 4 % of the inflow during the study. The tracer added at the inlet was rapidly detected downstream in the canal in the middle of the wetland, indicating a strong short-circuiting effect of the human made canal. At the outlet the tracer concentration was lower than the detection limit, suggesting a good mixing in the downstream part of the wetland, which was also supported by other water quality measurements in the transects. Ammonium-N concentrations at the inflow and outflow indicated a net export of ammonium-N, but the observed flow variations suggest that intensive water sampling campaigns are necessary for a proper evaluation of the water treatment function. The calculated effective volume and area amounted to 74 and 46 %, respectively, of the theoretically estimated, with a corresponding loss in the flow dampening and water treatment function of the wetland. / Rapporten är ett resultat av ett Minor Field Study stipendium finansierad av Sida.
|
16 |
Advanced Concepts in Asynchronous Exception HandlingKrischer, Roy January 2010 (has links)
Asynchronous exception handling is a useful and sometimes necessary alternative form of communication among threads. This thesis examines and classifies general concepts related to asynchrony, asynchronous propagation control, and how asynchronous exception handling affects control flow. The work covers four advanced topics affecting asynchronous exception-handling in a multi-threaded environment.
The first topic is concerned with the non-determinism that asynchronous exceptions introduce into a program's control-flow because exceptions can be
propagated at virtually any point during execution. The concept of asynchronous propagation control, which restricts the set of exceptions that can be propagated, is examined in depth. Combining it with a restriction of asynchrony that permits propagation of asynchronous exceptions only at certain well-defined (poll) points can re-establish sufficient determinism to verify a program's correctness, but introduces overhead, as well as a delay between the delivery of an asynchronous exception and its propagation. It also disturbs a programmer's intuition about asynchronous propagation in the program, and requires the use of programming idioms to avoid errors.
The second topic demonstrates how a combined model of full and restricted asynchrony can be safely employed, and thus, allow for a more intuitive use of asynchronous propagation control, as well as potentially improve performance.
The third topic focuses on the delay of propagation that is introduced when a thread is blocked, i.e., on concurrency constructs that provide mutual exclusion or synchronization. An approach is presented to transparently unblock threads so propagation of asynchronous termination and resumption
exceptions can begin immediately. The approach does not require additional syntax, simplifies certain programming situations, and can improve performance.
The fourth topic explores usability issues affecting the understanding of (asynchronous) exception handling as a language feature.
To overcome these issues, tools and language features are presented that help in understanding exception handling code by providing additional run-time information, as well as assist in testing.
For all topics, the necessary extensions to the syntax/semantics of the
language are discussed; where applicable, a prototypical implementation is presented, with examples that demonstrate the benefits of the new approaches.
|
17 |
Construction of GCCFG for Inter-procedural Optimizations in Software Managed Manycore (SMM)January 2014 (has links)
abstract: Software Managed Manycore (SMM) architectures - in which each core has only a scratch pad memory (instead of caches), - are a promising solution for scaling memory hierarchy to hundreds of cores. However, in these architectures, the code and data of the tasks mapped to the cores must be explicitly managed in the software by the compiler. State-of-the-art compiler techniques for SMM architectures require inter-procedural information and analysis. A call graph of the program does not have enough information, and Global CFG, i.e., combining all the control flow graphs of the program has too much information, and becomes too big. As a result, most new techniques have informally defined and used GCCFG (Global Call Control Flow Graph) - a whole program representation which captures the control-flow as well as function call information in a succinct way - to perform inter-procedural analysis. However, how to construct it has not been shown yet. We find that for several simple call and control flow graphs, constructing GCCFG is relatively straightforward, but there are several cases in common applications where unique graph transformation is needed in order to formally and correctly construct the GCCFG. This paper fills this gap, and develops graph transformations to allow the construction of GCCFG in (almost) all cases. Our experiments show that by using succinct representation (GCCFG) rather than elaborate representation (GlobalCFG), the compilation time of state-of-the-art code management technique [4] can be improved by an average of 5X, and that of stack management [20] can be improved by an average of 4X. / Dissertation/Thesis / Masters Thesis Computer Science 2014
|
18 |
Static Analyses of GUI Behavior in Android ApplicationsYang, Shengqian January 2015 (has links)
No description available.
|
19 |
Comprehensive Path-sensitive Data-flow AnalysisThakur, Aditya 07 1900 (has links)
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framework for improving the precision of data-flow analysis in the presence of complex control-flow. We initially perform data-flow analysis to determine those control-flow merges which cause the loss in data-flow analysis precision. The control-flow graph of the program is then restructured such that performing data-flow analysis on the resulting restructured graph gives more precise results. The proposed framework is both simple, involving the familiar notion of product automata, and also general, since it is applicable to any forward or backward data-flow analysis. Apart from proving that our restructuring process is correct, we also show that restructuring is effective in that it necessarily leads to more optimization opportunities.
Furthermore, the framework handles the trade-off between the increase in data-flow precision and the code size increase inherent in the restructuring. We show that determining an optimal restructuring is NP-hard, and propose and evaluate a greedy heuristic.
The framework has been implemented in the Scale research compiler, and instantiated for the specific problems of Constant Propagation and Liveness analysis. On the SPECINT 2000 benchmark suite we observe an average speedup of 4% in the running times over Wegman-Zadeck conditional constant propagation algorithm and 2% over a purely path profile guided approach for Constant Propagation. For the problem of Liveness analysis, we see an average speedup of 0.8% in the running times over the baseline implementation.
|
20 |
The Efficacy of Forward-Edge Control-Flow Integrity in Mitigating Memory Corruption Vulnerabilities : The Case of the Android StackOlofsson, Viktor January 2023 (has links)
Memory corruption is one of the oldest and most prominent problems in the field of computer security. In order to protect the vulnerabilities that arise from memory corruption, a mitigation technique called Control-flow Integrity (CFI) was developed. The Android Open Source Project utilizes a specific implementation of the CFI policy called forward-edge CFI in the compilation of the Android system. However, memory corruption vulnerabilities are still a problem for Android systems. This raises the question: Is forward-edge CFI really effective in mitigating memory corruption vulnerabilities? In this research, the efficacy of forward-edge CFI in terms of mitigating memory corruption vulnerabilities in Android systems is analyzed. This is done by analyzing nine Common Vulnerabilities and Exposures (CVE) in terms of how they can be exploited and whether forward-edge CFI could mitigate them. Additionally, the Android binaries containing the vulnerabilities are analyzed in an attempt to detect the presence of CFI instrumentation. CFI was detected in one of nine vulnerable Android binaries, implying that there exist memory corruption vulnerabilities that forward-edge CFI definitely can not protect. The analysis of nine CVEs showed that five CVEs could be mitigated by forward-edge CFI. These results indicate that forward-edge CFI could definitely mitigate a portion of the memory corruption vulnerabilities plaguing Android systems. However, in order to protect a greater portion of memory corruption vulnerabilities, forward-edge CFI should be combined with other mitigation techniques such as Shadow Stacks.
|
Page generated in 0.0699 seconds