We present a static analysis of endian portability for c programs. Our analysis can infer that a given program, or two syntactically close versions thereof, compute the same outputs when run with the same inputs on pl...
详细信息
ISBN:
(数字)9783030888060
ISBN:
(纸本)9783030888060;9783030888053
We present a static analysis of endian portability for c programs. Our analysis can infer that a given program, or two syntactically close versions thereof, compute the same outputs when run with the same inputs on platforms with different byte-orders, a.k.a. endiannesses. We target low-level c programs that abuse c pointers and unions, hence rely on implementation-specific behaviors undefined in the c standard. Our method is based on abstract interpretation, and parametric in the choice of a numerical abstract domain. We first present a novel concrete collecting semantics, relating the behaviors of two versions of a program, running on platforms with different endiannesses. We propose a joint memory abstraction, able to infer equivalence relations between little- and big-endian memories. We introduce a novel symbolic predicate domain to infer relations between individual bytes of the variables in the two programs, which has near-linear cost, and the right amount of relationality to express (bitwise) arithmetic properties relevant to endian portability. We implemented a prototype static analyzer, able to scale to large real-world industrial software, with zero false alarms.
In order to improve innovation, promote the combination of theoretical teaching and experimental teaching, and give full play to the practical application of cloud computing and streaming media technology in course te...
详细信息
ISBN:
(纸本)9798350336115
In order to improve innovation, promote the combination of theoretical teaching and experimental teaching, and give full play to the practical application of cloud computing and streaming media technology in course teaching, a clanguageprogramming online teaching and experimental environment construction method based on cloud computing and streaming media technology was designed. Build Linux, FreeBSD, Windows and other operating systems on the basis of KVM virtual machine technology, extend the clanguage experimental environment from single-machine mode to the cloud with JupyterLab, and realize the data monitoring of teaching cloud platform experimental environment with Webservice and other technologies. RTMP protocol is used to transmit streaming media online video teaching data. This environment can meet the daily cloud learning needs of teachers and students, improve the teaching effect of clanguageprogramming, and realize the expansion of the experimental environment from single Pc to Android, iPad, iPhone and other mobile terminals, so as to facilitate students to practice in fragmented time in their spare time. This will help to achieve the goal of cultivating applied talents for computer majors.
This paper reviews the matrix programming lanician/statistician. We focus on scientificprogramming using Ox and discuss examples of possible interest to econometricians and statisticians, such as random number genera...
详细信息
Since cHIUW last year, the chapel team has undertaken an effort to improve the ability to call chapel code from other languages. This talk will cover a few areas of improvement: using chapel code as a library from c, ...
详细信息
ISBN:
(纸本)9781450368001
Since cHIUW last year, the chapel team has undertaken an effort to improve the ability to call chapel code from other languages. This talk will cover a few areas of improvement: using chapel code as a library from c, Python, and Fortran;and in addition, improvements to array interoperation.
A toothbrush/dentifrice abrasion machine was developed to use in dental research laboratory. The mechanism was designed as a hexagonal block driven by two stepping motors which move the mechanism in four directions. I...
详细信息
A toothbrush/dentifrice abrasion machine was developed to use in dental research laboratory. The mechanism was designed as a hexagonal block driven by two stepping motors which move the mechanism in four directions. In order to control the stepping motors speed, position and direction commands or signals were generated by a software written in c programming language and then these commands were applied the stepping motor drives through parallel port of a personal computer. The toothbrush/dentifrice abrasion machine was finally used to measure different longevity of tooth brush. It was experimentally shown that the mechanism can be used for highly accurate position and speed applications.
The efficient energy management of buildings is nowadays a crucial point to move toward a sustainable planet. Unfortunately, the design of smart buildings able to optimize their energy consumption is a quite complex t...
详细信息
ISBN:
(纸本)9781479934591
The efficient energy management of buildings is nowadays a crucial point to move toward a sustainable planet. Unfortunately, the design of smart buildings able to optimize their energy consumption is a quite complex task. Since this exploration cannot be performed on the field, simulation methodologies are usually adopted to study the behavior of buildings and their energy sustainability during the design phase. This paper proposes a simulation framework based on Systemc to easily evaluate different policies to control the energy consumption of a smart space. In particular, Systemc makes it possible to obtain a flexible representation of the system, allowing the designer to easily evaluate different configurations of appliances and policies, and it directly works with the commonly-used c programming language.
We demonstrate a novel method to facilitate the application of the swept decomposition rule to complex stencil update formulas typically used in computational fluid dynamics. The method decomposes an update formula in...
详细信息
As computing evolves and libraries are produced for developers to create efficient software at a faster rate, the security of a modern program is an area of great concern because complex software breeds vulnerabilitie...
详细信息
As computing evolves and libraries are produced for developers to create efficient software at a faster rate, the security of a modern program is an area of great concern because complex software breeds vulnerabilities. Due to the criticality of computer systems security, cybersecurity education must maintain pace with the rapidly evolving technology industry. An example of growth in cybersecurity education can be seen in *** – a publicly available resource composed of modules that teach computer systems security. In reaction to the demand for the expansion of cybersecurity education, the *** developers designed a new set of modules for a course at Arizona State University and offered the same modules for public use. One of these modules, the “babyfile” module, was intended to focus on the exploitation of FILE structures in the c programming language. FILE structures allow for fast and efficient file operations. Unfortunately, FILE structures have severe vulnerabilities which can be exploited to attain elevated privileges for reading data, writing data, and executing instructions. By researching the applications of FILE structure vulnerabilities, the babyfile module was designed with twenty challenges that teach *** users how to exploit programs by misusing FILE structures. These challenges are sorted by increasing difficulty and the intended solutions utilize all the vulnerabilities discussed in this paper. In addition to introducing users to exploits against FILE structures, babyfile also showcases a novel attack against the virtual function table, which is located at the end of a FILE structure.
Syntax directed editors (SDE) have been built to support popular languages or subsets of those languages. Typically, these im- plementations require large amounts of computing resources. This work describes the design...
详细信息
Syntax directed editors (SDE) have been built to support popular languages or subsets of those languages. Typically, these im- plementations require large amounts of computing resources. This work describes the design and implemtnat ion of a SDE which re- quires less than 58 thousand bytes of main memory and supports the full c programming language. Several extant SDE models are examined in an effort to define a basic set of SDE facilities. Design principles are combined with machine con- straints to produce a plan for the implementation of these facilities. A sample session with the resulting editor is provided The syntactic irregularities of the c programming language are examined. A discussion showing how language irregularities can hamper the implementation of a SDE follows. A grammatical definition of the clanguage is included.
Tato práce se zabývá návrhem konceptu platformy pro bezdotykové snímání otisku prstu a jeho realizací. Dále je popsán návrh, implementace a testován...
详细信息
Tato práce se zabývá návrhem konceptu platformy pro bezdotykové snímání otisku prstu a jeho realizací. Dále je popsán návrh, implementace a testování hardware implementovaného ve VHDL a programu implementovaného v c. Výstup práce lze použít jako základ při vývoji průmyslově použitelného řešení.
暂无评论