共查询到19条相似文献,搜索用时 812 毫秒
1.
2.
提出了一项基于混合模型的二进制优化框架,能在运行时和运行后进行持续的程序优化.该框架集成了控制流分析等常用的二进制优化功能,并且提供了安全的编程接口以供其他研究者实现自定义的优化模块.该框架被设计为集成到操作系统内核中,并提供透明和自适应的优化服务,从而在没有用户交互的前提下,利用富余的计算资源帮助二进制程序自适应计算环境,达到加速的目的.描述了该框架的设计与实现以及关键问题的解决方法. 相似文献
3.
俞木发 《数字社区&智能家居》2005,(10)
自启动程序是随Windows一起启动的各种程序和系统服务,因为它们开机后即可被自动加载,所以一些病毒、木马也常常搭自启动“便车”危害系统。在Windows中加载自启动程序地方有很多,如“Docu-ments and Settings/All Users/「开始」菜单/程序”目录下的启动文件夹、注册表键值如[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]、加载在Win.ini和System.ini文件等。这些位置平时加载了许多用户/系统需要的自启动程序如系统输入法组件、杀毒软件等,如果病毒、木马也混杂在其中,我们该如何区分哪些是用户需要,哪些又是恶意自启动程序?其实我们可以将需要的自启动程序统一“收编”,这样以后如果发现“编外”的自启动程序,那十有八九就是病毒或木马了。“收编”具体操作如下(以WinXP为例)。 相似文献
4.
针对当前软件项目中数据维护中存在的问题,在J2EE架构的基础上,提出了改善系统性能的智能数据维护的“新型框架”,使得所有的关于数据库维护的程序都能自动生成,大大提高了项目开发可重用性,也缩短了项目开发的周期性。并结合实际项目中的开始经验,提供了关键代码。 相似文献
5.
6.
为了提高医疗服务质量,医疗领域需要大规模集成的医疗信息系统来适应不断变化的环境需求。提出了层次结构的需求驱动自适应医疗信息系统体系结构框架。该结构通过层间映射机制根据用户的需求动态地组织系统的功能。同时重点研究了采用组织符号学理论方法,运用本体图和规范捕获并分析用户的需求,并在该基础上建立了用户需求模式的结构,用户需求模式将作为整个系统运行的驱动因素。将成果方法应用于“区域协同医疗服务示范工程”进行实证研究,为行业信息系统建设提供理论、方法和标准规范方面的指导。 相似文献
7.
《计算机应用与软件》2013,(7)
在Java异常机制的基础上,构建一个J2EE项目应用中错误处理的通用框架模型,并用该框架模型解决J2EE项目中错误处理中普遍存在的问题。对错误进行统一管理,在一定意义下将错误封装成异常,然后将异常抛出到一个集中的位置进行统一处理。让错误处理保持简单和直观,使开发人员可以专心于开发业务逻辑,而不是把时间浪费在编写错误处理这样的模板代码上。程序的可读性、可维护性、可修改性大大提高,而且也提高了J2EE应用程序的健壮性。 相似文献
8.
9.
针对当前软件项目中数据维护中存在的问题,在J2EE架构的基础上,提出了改善系统性能的智能数据维护的“新型框架”,使得所有的关于数据库维护的程序都能自动生成,大大提高了项目开发可重用性,也缩短了项目开发的周期性。并结合实际项目中的开始经验.提供了关键代码。 相似文献
10.
最新版本:1.0 文件大小:505KB 软件性质:共享 使用环境:Win9x/Me/NT/2000 下载地址:http://www.progency.com/download/peepsh10.exe PeepShow的主要功能就是在窗口上开孔,将被遮盖住的项目显露出来,用户还可以控制开孔的深度,通过开孔来避免频繁地切换窗口。寻找对象。 在Progaam标签页面中,大家可以对该程序的相关参数进行合理设置,以便让程序能高效地工作。如果大家在这个设置页面中,将“Save settings on exit”选项选中的话,那么程序在退出时,就能自动将用户对程序进行的相关设置保存好,要是 相似文献
11.
12.
Eric Bodden Laurie Hendren 《International Journal on Software Tools for Technology Transfer (STTT)》2012,14(3):307-326
A typestate property describes which operations are available on an object or a group of inter-related objects, depending on this object??s or group??s internal state, the typestate. Researchers in the field of static analysis have devised static program analyses to prove the absence of typestate-property violations on all possible executions of a given program under test. Researchers in runtime verification, on the other hand, have developed powerful monitoring approaches that guarantee to capture property violations on actual executions. Although static analysis can greatly benefit runtime monitoring, up until now, most static analyses are incompatible with most monitoring tools. We present Clara, a novel framework that makes these approaches compatible. With Clara, researchers in static analysis can easily implement powerful typestate analyses. Runtime-verification researchers, on the other hand, can use Clara to specialize AspectJ-based runtime monitors to a particular target program. To make aspects compatible to Clara, the monitoring tool annotates them with so-called dependency state machines. Clara uses the static analyses to automatically convert an annotated monitoring aspect into a residual runtime monitor that is triggered by fewer program locations. If the static analysis succeeds on all locations, this proves that the program fulfills the stated typestate properties, making runtime monitoring entirely obsolete. If not, the residual runtime monitor is at least optimized. We instantiated Clara with three static typestate analyses and applied these analyses to monitoring aspects generated from tracematches. In two-thirds of the cases in our experiments, the static analysis succeeds on all locations, proving that the program fulfills the stated properties, and completely obviating the need for runtime monitoring. In the remaining cases, the runtime monitor is often significantly optimized. 相似文献
13.
Deterministic Sampling Algorithms for Network Design 总被引:1,自引:0,他引:1
Anke van Zuylen 《Algorithmica》2011,60(1):110-151
For several NP-hard network design problems, the best known approximation algorithms are remarkably simple randomized algorithms called Sample-Augment algorithms in Gupta et al. (J. ACM 54(3):11, 2007). The algorithms draw a random sample from the input, solve a certain subproblem on the random sample, and augment the solution for the subproblem to a solution for the original problem. We give a general framework that allows us to derandomize most Sample-Augment algorithms, i.e. to specify a specific sample for which the cost of the solution created by the Sample-Augment algorithm is at most a constant factor away from optimal. Our approach allows us to give deterministic versions of the Sample-Augment algorithms for the connected facility location problem, in which the open facilities need to be connected by either a tree or a tour, the virtual private network design problem, 2-stage rooted stochastic Steiner tree problem with independent decisions, the a priori traveling salesman problem and the single sink buy-at-bulk problem. This partially answers an open question posed in Gupta et al. (J. ACM 54(3):11, 2007). 相似文献
14.
15.
René Rydhof Hansen Kim Guldstrand Larsen Mads Chr. Olesen Erik Ramsgaard Wognsen 《Information Systems Frontiers》2016,18(5):909-925
Bitflips, or single-event upsets (SEUs) as they are more formally known, may occur for instance when a high-energy particle such as a proton strikes a CPU and thereby corrupting the contents of an on-chip register, e.g., by randomly flipping one or more bits in that register. Such random changes in central registers may lead to critical failure in the execution of a program, which is especially problematic for safety- or security-critical applications. Even though SEUs are well studied in the literature, relatively little attention have been given to the formal modelling of SEUs and the application of formal methods to mitigate the consequences of SEUs. In this paper we develop a formal semantic framework for easy formal modelling of a large variety of SEUs in a core assembly language capturing the essential features of the ARM assembly language. Based on the semantic framework, we derive and formally prove correct a static analysis that enforces so-called blue/green separation in a given program. Static blue/green separation is a language-based fault detection technique relying on inlined replication of critical code. A program that has proper blue/green separation is shown to be fault-tolerant with respect SEUs in data registers. However, this technique requires specialised hardware support in order to achieve full coverage. We therefore use our semantic framework to further develop so-called gadgets, essentially small code fragments that emulate the behaviour of blue/green instructions in a safe manner. The gadgets allow us to achieve partial blue/green separation without specialised hardware support. Finally, we show how our semantic framework can be used to extract timed-automata models of ARM assembler code programs. We then apply statistical model checking to these timed-automata models enabling us to model, analyse, and quantify program behaviour in the presence of fault models that go well beyond data-flow SEUs, e.g., bitflips in program counters or in the code itself. We use this approach to provide evidence that our suggested program modifications, i.e., the use of gadgets, significantly decrease the probability of such faults going undetected. 相似文献
16.
Eunjung Park John Cavazos Louis-Noël Pouchet Cédric Bastoul Albert Cohen P. Sadayappan 《International journal of parallel programming》2013,41(5):704-750
High-level program optimizations, such as loop transformations, are critical for high performance on multi-core targets. However, complex sequences of loop transformations are often required to expose parallelism (both coarse-grain and fine-grain) and improve data locality. The polyhedral compilation framework has proved to be very effective at representing these complex sequences and restructuring compute-intensive applications, seamlessly handling perfectly and imperfectly nested loops. It models arbitrarily complex sequences of loop transformations in a unified mathematical framework, dramatically increasing the expressiveness (and expected effectiveness) of the loop optimization stage. Nevertheless identifying the most effective loop transformations remains a major challenge: current state-of-the-art heuristics in polyhedral frameworks simply fail to expose good performance over a wide range of numerical applications. Their lack of effectiveness is mainly due to simplistic performance models that do not reflect the complexity today’s processors (CPU, cache behavior, etc.). We address the problem of selecting the best polyhedral optimizations with dedicated machine learning models, trained specifically on the target machine. We show that these models can quickly select high-performance optimizations with very limited iterative search. We decouple the problem of selecting good complex sequences of optimizations in two stages: (1) we narrow the set of candidate optimizations using static cost models to select the loop transformations that implement specific high-level optimizations (e.g., tiling, parallelism, etc.); (2) we predict the performance of each high-level complex optimization sequence with trained models that take as input a performance-counter characterization of the original program. Our end-to-end framework is validated using numerous benchmarks on two modern multi-core platforms. We investigate a variety of different machine learning algorithms and hardware counters, and we obtain performance improvements over productions compilers ranging on average from $3.2\times $ to $8.7\times $ , by running not more than $6$ program variants from a polyhedral optimization space. 相似文献
17.
基于Junit自动生成类测试案例框架的实现 总被引:4,自引:0,他引:4
论文对Java程序的抽象类、包含内隐类的接口、其它内隐类和普通类的测试提出了不同的测试案例模式,结合Liskov替代原则对类测试的要求,实现一个基于Junit生成包含测试神谕的测试案例框架的工具。借助该工具,程序员在编写测试案例时,只需在自动生成的测试案例框架中添加测试数据就可获得完整的测试案例。 相似文献
18.
Afshin Amighi Pedro de Carvalho Gomes Dilian Gurov Marieke Huisman 《International Journal on Software Tools for Technology Transfer (STTT)》2016,18(6):653-684
We present an algorithm for extracting control flow graphs from Java bytecode that captures normal as well as exceptional control flow. We prove its correctness, in the sense that the behaviour of the extracted control flow graph is a sound over-approximation of the behaviour of the original program. This makes control flow graphs suitable for performing various static analyses, such as model checking of temporal safety properties. Analysing exceptional control flow for Java bytecode is difficult because of the stack-based nature of the language. We therefore develop the extraction in two stages. In the first, we abstract away from the complications arising from exceptional flows, and relativize the extraction on an oracle that is able to look into the stack and predict the exceptions that can be raised at each instruction. This idealized algorithm provides a specification for concrete extraction algorithms, which have to provide a suitable implementation for the oracle. We prove correctness of the idealized algorithm by means of behavioural simulation. In the second stage, we develop a concrete extraction algorithm that consists of two phases. In the first phase, the program is transformed into a BIR program, a stack-less intermediate representation of Java bytecode, from which the control flow graph is extracted in the second phase. We use this intermediate format because it provides the information needed to implement the oracle, and since it gives rise to more compact graphs. We show that the behaviour of the control flow graph extracted via the intermediate representation is a sound over-approximation of the behaviour of the graph extracted by the direct, idealized algorithm, and thus of the original program. The concrete extraction algorithm is implemented as the ConFlEx tool. A number of test cases are performed to evaluate the efficiency of the algorithm. 相似文献
19.
Answering queries in disjunctive logic programming requires the use of ancestry-resolution. The resulting complication makes it difficult to implement a Prolog-type query answering procedure for disjunctive logic programs. However, SLO-resolution provides a mechanism which is similar to SLD-resolution and hence offers a solution to this problem. The Warren Abstract Machine has been a very effective model for implementing Prolog. In this paper, we extend the WAM model of Prolog and adapt it for DISLOG — a language for disjunctive logic programming. We describe the extensions and additional instructions needed to make WAM viable for modeling and executing DISLOG. The extension is made in such a way that the original architecture is not disturbed and a Prolog program will execute as efficiently as it does in the original WAM.This work was done while the author was at the University of Kentucky. 相似文献