Nesting is a fundamental and very commonly used programming construct. In many cases, the wise use of nesting contributes significantly to a programming team's elegantly designing a solution to a difficult problem...
详细信息
ISBN:
(纸本)9781479935741
Nesting is a fundamental and very commonly used programming construct. In many cases, the wise use of nesting contributes significantly to a programming team's elegantly designing a solution to a difficult problem. However, the ease with which nesting constructs may be created and the essentially unlimited depth and breadth to which they may exist also enable a programming team to create structures which may be extremely difficult to understand and maintain. In this paper, we examine nesting and nesting metrics. In particular, we discuss nesting and complexity;we give a new definition for the scope of a selection statement;we define simple and precise metrics for nesting depth and breadth;and we present a new nesting concept, the nesting tree.
Changes to a composite service need to be well analyzed in order to ensure the trust of it. The analysis can be driven by identifying the impact caused by the changes on the trust of other component services as well a...
详细信息
ISBN:
(纸本)9780769549224
Changes to a composite service need to be well analyzed in order to ensure the trust of it. The analysis can be driven by identifying the impact caused by the changes on the trust of other component services as well as the composite service. In this paper, we propose a trust impact analysis model to analyze the impact of two kinds of evolution operations performed on a composite service: binding changes and business process changes. First, trust dependency graph is introduced to analyze the impact on the trust of component services. It not only identifies the affected component services but also quantifies the impact degree on the trust of them. Then we introduce control flow graph to evaluate the impact on the trust of the composite service. Three metrics are introduced to evaluate the impact of these evolution operations. The case study shows how these evolution operations affect the trust of other component services and the composite service which provides a foundation for the evaluation of composite service evolution.
Software testing is a complex and exhaustive process, often limited by the resources. Although many approaches for test sequence generation exist in the literature, but none of it is ideal as far as coverage and redun...
详细信息
ISBN:
(纸本)9781509035434
Software testing is a complex and exhaustive process, often limited by the resources. Although many approaches for test sequence generation exist in the literature, but none of it is ideal as far as coverage and redundancy is concerned. This paper aims at improving the efficiency of software testing process by generating the optimal test sequences in the control flow graph (CFG) of the program under test (PUT) by using a novel swarm intelligence method called River Formation Dynamics(RFD). RFD is inspired by a natural phenomenon of how drops transformed into river and river into sea. It provides full path coverage with zero edge/transition redundancy. It also tries to prioritize the paths based on their strength, calculated in terms of their traversal by the drops.
The paper presents the results of the comparative analysis of various methods for detecting and localizing race conditions in multithread systems with shared memory. The paper highlights the advantages of the static m...
详细信息
ISBN:
(纸本)9781728167008
The paper presents the results of the comparative analysis of various methods for detecting and localizing race conditions in multithread systems with shared memory. The paper highlights the advantages of the static method, one of the effective implementations of which is an algorithm based on the analysis of a program presented as a control flow graph or one of its varieties-a joint flow execution graph. To solve applied problems, we carried out a software implementation of this algorithm, which served as the basis for developing a test program package for automated detection of race conditions in multithread systems. The reliability and efficiency of the program package is confirmed by the results of computer simulation illustrated using the Peterson algorithm.
Ranging from firmware to cloud services, software is an essential part of almost any imaginable system, or at the very least assists us in their design or maintenance. The sheer complexity and sophisticated concepts o...
详细信息
ISBN:
(纸本)9783319190662;9783319190655
Ranging from firmware to cloud services, software is an essential part of almost any imaginable system, or at the very least assists us in their design or maintenance. The sheer complexity and sophisticated concepts of today's software products thus demand for solutions that assist us in assuring their quality. We aim to contribute in this direction by proposing a fault localization approach for failing test cases that draws on model-based diagnosis techniques from the AI community and focuses the search on dynamic executions. With this focus, we offer the scalability needed to consider also designs like service oriented architectures (SOAs). Furthermore, we opt for a flexible approach that allows a user to refine the reasoning by annotating our basic structure of a control flow graph with further information, e.g., for black box components. First experiments with standard software examples, as well as examples taken from the SOA domain show promising results.
Multicore architecture has multiple cores tightly integrated on a single die, with each core having private register files. To maximally utilize the processing power of the architecture, a sequential program is split ...
详细信息
ISBN:
(纸本)9781479915897
Multicore architecture has multiple cores tightly integrated on a single die, with each core having private register files. To maximally utilize the processing power of the architecture, a sequential program is split into small parallel regions to run on different cores. Compile time scheduling and register allocation onto each core can be performed in an integrated manner. For such an integrated approach, an algorithm needs not only to schedule the regions of the program effectively but should also have the ability to detect excessive register demands and to reduce register pressure on the fly. In this paper, an algorithm to perform the integrated instruction scheduling and register allocation without affecting the performance is presented and compared with the normal scheduling approaches.
Static analysis of programs is essential for better understanding towards software maintenance and re-engineering. Unfortunately, we still lack automatic tools to understand the back end of the programs (Bytecode). De...
详细信息
ISBN:
(纸本)9789811068751;9789811068744
Static analysis of programs is essential for better understanding towards software maintenance and re-engineering. Unfortunately, we still lack automatic tools to understand the back end of the programs (Bytecode). Developing these tools is very expensive and time-consuming task but it is today's need. Those tools may help to understand Java Bytecode. Some time source code is not available all the time but bytecode is easily available. Unfortunately, bytecode is not understandable by many of us so that we are providing a little effort in this regard. This article represents the program flow execution in Java Bytecode. We present static and dynamic path executions of programs in a bytecode using control flow graph (CFG) and Data Dependence graph (DDG). Bytecode analysis is an effort to develop a tool which can make visualization of Java programs in back end form.
Reducing communication overhead is extremely important for parallelizing compiler to generate efficient codes for distributed memory machines. In this paper a redundant parallel execution model (RPEM) is used as the m...
详细信息
ISBN:
(纸本)0769529097
Reducing communication overhead is extremely important for parallelizing compiler to generate efficient codes for distributed memory machines. In this paper a redundant parallel execution model (RPEM) is used as the model for target programs. The extend data flowgraph is introduced, and optimization algorithms based on the data-flow analysis are discussed. The overhead of data flow analysis can be reduced by performing analysis on the extend data flowgraph. The analysis helps to reduce the redundant communication overhead. These optimization algorithms are able to perform inter-loop and inter-procedure analysis. Experimental results prove that these optimizations algorithms are effective in reducing both the number of communications and the communication volume.
Similar execution paths generation is one of the fundamental tasks in code analysis and detection. The current methods usually target to the program behavior or program structure, and change the value of key predicate...
详细信息
ISBN:
(纸本)9783038350453
Similar execution paths generation is one of the fundamental tasks in code analysis and detection. The current methods usually target to the program behavior or program structure, and change the value of key predicates, but these methods has a low effectiveness due to the lack of the necessary guidance information, Meanwhile, the predicates set has a large size and usually hard to solve, thus it will reduce the analyze precision as well. A technique of similar execution paths generation based on dynamic synergy bidirectional mapping is proposed in this paper. According to extend the shape of control flow graph and use the backward symbolic analysis, the weakest precondition of the candidate path is generated, which can be used as the guidance information to generate pointed similar execution paths set according to the edit distance via changing the distance factor. The experimental results show that this method has the advantage of precision and anti-inference.
In Fuzzing facing binary coverage, the main role of instrumentation is feedback code coverage (in the case of Fuzz for binary, instrumentation can provide coverage information, which plays an important role in guiding...
详细信息
ISBN:
(纸本)9781728128719
In Fuzzing facing binary coverage, the main role of instrumentation is feedback code coverage (in the case of Fuzz for binary, instrumentation can provide coverage information, which plays an important role in guiding the operation of seeds in Fuzz). The current instrumentation optimization technique mainly relies on the control flow graph (CFG) to select key basic blocks at the basic block level, but the accuracy of this method is not high enough. Considering that the actual path in the actual operation of the binary may be different from the CFG generated in advance, this paper is based on the indirect jump that cannot be accurately analyzed in the CFG, and some of the basic blocks that can be optimized for high-frequency interpolation. According to the algorithm proposed in this paper, The combination of static analysis and dynamic analysis is used to continuously adjust and select key basic block nodes for instrumentation. It is verified by experiments that this kind of instrumentation method can effectively improve the coverage rate and reduce the overhead, and provide effective guidance for Fuzzing, which can effectively reduce the Fuzzer's false negatives.
暂无评论