共查询到20条相似文献,搜索用时 15 毫秒
1.
The verified software repository is dedicated to a long-term vision of a future in which all computer systems justify the
trust that society increasingly places in them. This would be accompanied by a substantial reduction in the current high costs
of programming error, incurred during the design, development, testing, installation, maintenance, evolution, and retirement
of computer software. An important technical contribution to this vision will be a verifying compiler: a tool-set that automatically proves that a program will always meet its specification, insofar as this has been formalised,
without even needing to run it. This has been a challenge for computing research for over 30 years, but the current state
of the art now gives grounds for hope that it may be implemented in the foreseeable future. Achievement of the overall vision
will depend also on continued progress of research into dependability and software evolution, as envisaged by the UKCRC Grand
Challenge project in dependable systems evolution. The verified software repository is a first step towards the realisation of this long-term vision. It will maintain and
develop an evolving collection of state-of-the-art tools, together with a representative portfolio of real programs and specifications
on which to test, evaluate, and develop the tools. It will contribute initially to the inter-working of tools, and eventually
to their integration. It will promote transfer of the relevant technology to industrial tools and into software engineering
practice. It will build on the recognised achievements of practical formal development of safety-critical computer applications,
and contribute to an international initiative in verified software, covering theory, tools, and experimental validation.
Received April 2005
Revised November 2005
Accepted November 2005 by C. B. Jones 相似文献
2.
3.
A multiplicity of problem-oriented and machine-oriented languages for computer programming exists today. Many compilers have been constructed to translate between these languages. This report presents a technique for reducing the number of compilers necessary. A translation algorithm is presented, capable of being conveniently parameterized for various source language-target language pairs. Concepts are drawn from modern linguistic theory, and practical considerations in implementation and application are discussed. 相似文献
4.
Dick Grune 《Software》1979,9(7):575-593
Requirements are formulated for a tag-list algorithm, i.e. the algorithm used in a compiler for handling the symbol table or identifier list. Starting from a very general tag-list algorithm, 18 practical versions are developed and their merits judged. Although the final choice (binary search in a diluted table) depends on the details of the application, the main part of this article is not devoted to that final choice itself but rather to ways of reaching it. 相似文献
5.
采用扩展的巴科斯范式(EBNF)定义SQL语言的语法规则,提出了一种基于分析器自动生成工具(JavaCC)的SQL语言编译器的设计模型。该模型采用Java语言开发,具有良好的平台无关性;分别从词法、语法和语义分析、信息提取等方面进行编译器的设计与实现。实际运行结果表明:该模型能够快速高效地构建SQL编译器,且具有良好的可扩展性。 相似文献
6.
随着日前越来越多嵌入式系统的飞速发展,必须快速有效地为之开发合适的交叉编译器。因为GCC(GNU Compiler Collection)是非常优秀的交叉编译器而且具有很好的可移植性,所以移植GCC是一个非常正确的方法。以交叉编译系统ZLTCG的开发为背景,详细分析了交叉编译系统GCC的体系结构,对其高度可移植性所依赖的中间表示和机器描述技术进行了深入研究,并在此基础上阐述了如何基于GCC构造用于嵌入式系统开发的交叉编译器。介绍了GCC的内核和工作机制,特别是RTL(Register Transfer Language)代码和汇编代码的生成以及解释GCC的移植方法和移植实例,对测试方法进行了探讨。 相似文献
7.
8.
PipeRench: a reconfigurable architecture and compiler 总被引:1,自引:0,他引:1
With the proliferation of highly specialized embedded computer systems has come a diversification of workloads for computing devices. General-purpose processors are struggling to efficiently meet these applications' disparate needs, and custom hardware is rarely feasible. According to the authors, reconfigurable computing, which combines the flexibility of general-purpose processors with the efficiency of custom hardware, can provide the alternative. PipeRench and its associated compiler comprise the authors' new architecture for reconfigurable computing. Combined with a traditional digital signal processor, microcontroller or general-purpose processor, PipeRench can support a system's various computing needs without requiring custom hardware. The authors describe the PipeRench architecture and how it solves some of the pre-existing problems with FPGA architectures, such as logic granularity, configuration time, forward compatibility, hard constraints and compilation time 相似文献
9.
针对西安邮电大学自主设计的一款面向图形、图像应用的阵列处理器PAAG系统(polymorphic array architecture for graphics and image processing)多核处理器并行编译问题,提出一种基于GCC编译器框架的可实现并行编译的移植技术。结合图像处理器并行处理要求和硬件特点,通过一种底层中间表示———寄存器传输语言 RTL (register transfer lan‐guage)进行模式匹配,完成指令选择,实现编译器移植;使用堆栈管理方式解决 PAAG系统没有寄存器文件的问题和函数调用问题。该技术的实现打破了PAAG系统只能手工编译的局面,有效提高了单个处理器的编译效率,使PAAG系统的性能得到提升;对于并行处理的图形图像处理器,该技术是一种正确可行的实施方案。 相似文献
10.
A compiler optimization may be correct and yet be insecure. This work focuses on the common optimization that removes dead (i.e., useless) store instructions from a program. This operation may introduce new information leaks, weakening security while preserving functional equivalence. This work presents a polynomial-time algorithm for securely removing dead stores. The algorithm is necessarily approximate, as it is shown that determining whether new leaks have been introduced by dead store removal is undecidable in general. The algorithm uses taint and control-flow information to determine whether a dead store may be removed without introducing a new information leak. A notion of secure refinement is used to establish the security preservation properties of other compiler transformations. The important static single assignment optimization is, however, shown to be inherently insecure. 相似文献
11.
12.
Mueller R.A. Duda M.R. Sweany P.H. Walicki J.S. 《IEEE transactions on pattern analysis and machine intelligence》1988,14(5):575-583
The vertical migration of complex application code into horizontal microcode makes traditional methods of handwritten and hand-optimized microcode with primitive assembly languages impractical. Higher-level languages that permit abstraction from low-level timing and concurrency details are considered a major step toward alleviating the problem. This approach is feasible only if compilers for these languages exist that can produce high-quality microcode and that can be targeted to new machines with modest effort and high reliability. An overview is provided of the Horizon retargetable microcode compiler, which facilitates the production of highly optimized microcode and the targeting of the compiler to specific machines 相似文献
13.
14.
The authors describe a technique for porting a modern language that makes it possible to port the language quickly and still get fast execution. They relate the practical experience they gained when porting the compiler to different environments. They concentrate on transportation problems of compilers that generate machine code rather than those that generate interpreter code. The authors' approach is based on the definition of a universal operating-system interface that must be implemented on the target machine to install the compiler. They ported the Modula-2/68K compiler, which was developed at their institute and has successfully been installed at external sites. Of the two porting procedures they offered-source-code cross development and object-code transportation-the external sites preferred the latter because it requires less effort 相似文献
15.
介绍了转台角速度检定系统的组成和工作原理,深入地讨论了基于光纤陀螺的转台角速度数据采集与处理子系统的设计.介绍了基于NT操作系统使用WinDriver开发无线数据传输卡驱动程序的方法.为解决非线性误差问题,对采集数据进行了二次多项式拟合,并利用通过GPS获得的纬度数据对角速度进一步修正,详细阐述了无线数据传输协议的设计. 相似文献
16.
Gietzelt M Goltz U Grunwald D Lochau M Marschollek M Song B Wolf KH 《Computer methods and programs in biomedicine》2012,106(2):114-125
Patient empowerment might be one key to reduce the pressure on health care systems challenged by the expected demographic changes. Knowledge based systems can, in combination with automated sensor measurements, improve the patients' ability to review their state of health and make informed decisions. The Arden Syntax as a standardized language to represent medical knowledge can be used to express the corresponding decision rules. In this paper we introduce ARDEN2BYTECODE, a newly developed open source compiler for the Arden Syntax. ARDEN2BYTECODE runs on Java Virtual Machines (JVM) and translates Arden Syntax directly to Java Bytecode (JBC) executable on JVMs. ARDEN2BYTECODE easily integrates into service oriented architectures, like the Open Services Gateway Initiative (OSGi) platform. Apart from an evaluation of compilation performance and execution times, ARDEN2BYTECODE was integrated into an existing knowledge supported exercise training system and recorded training sessions have been used to check the implementation. 相似文献
17.
邓红梅 《网络安全技术与应用》2014,(3):33-33,36
随着信息技术水平的不断提高,人们对信息量的需求也越来越大,对信息质量的要求也越来越高,研究和开发新的Java技术编译器具有重要的意义。因此,本文主要针对Java技术下的PHP编译器进行分析,阐述了YPHP编译器的设计原理和基本机构,针对PHP编译器的设计结构进行深入的研究,掌握PHP编译器的结构原理,了解其主要功能。为PHP编译器的开发和应用提出一些建议,指明Java技术的PHP编码器的开发方向,为相关研究人员提供一些依据。 相似文献
19.
This paper describes a program auto-parallelizer that is based on the component approach to constructing optimizing compilers; the parallelizer is included in the technological chain of gcc. Details of using analytical and optimization components for constructing an auto-parallelizer and a parallelization algorithm using the OpenMP library are considered. Finally, we discuss the results of operation of the auto-parallelizer in terms of performance on a subset of problems in the Spec2006 and NAS parallel benchmarks packages. 相似文献
20.