221,314 research outputs found
About Instruction Sequence Testing
Software testing is presented as a so-called theme within which different
authors and groups have defined different subjects each of these subjects
having a different focus on testing. A uniform concept of software testing is
non-existent and the space of possible coherent perspectives on software
testing, each fitting within the theme, is viewed as being spanned by five
dimensions, each dimension representing two opposite views with a variety of
intermediate views in between.
Instruction sequences are used as a simple theoretical conceptualization of
computer programs. A theory of instruction sequence testing may serve as a
model for a theory of software testing. Instruction sequences testing is
considered a new topic for which definitions may be freely contemplated without
being restricted by existing views on software testing.
The problem of developing a theory of instruction sequence testing is posed.
A survey is given of motivations and scenarios for developing a theory of
instruction sequence testing
Teaching Common Japanese Cultural Practices Online
Many university students in Hawaii planning to study abroad in Japan will experience some form of cultural miscommunication and misunderstanding. These experiences can make it difficult for students to join authentic Japanese communities during their time abroad. To help solve this issue, this project designed and evaluated online asynchronous instruction about common Japanese cultural practices. The instruction combined multimedia with various interactive activities to help students 1) be more aware of the cultural differences between their home culture and Japanese culture and 2) make adjustments so they can participate in the Japanese community more easily. The instruction used Bloom’s Taxonomy to break down and sequence the content, as well as Gagne’s Nine Events of Instruction and Keller’s ARCS model to ensure the lessons targeted the cognitive and affective domains. To evaluate the instruction, synchronous usability testing and asynchronous learning effectiveness testing were conducted with 16 Japanese language learning students (n = 16). The usability test helped capture diverse perspectives on the design of the instruction and was valuable in revising its navigation. In general, participants felt the instructional lessons were meaningful and enjoyable. Future work will be needed to research more about the target audience and to include more content covering additional cultural practices
A Comparison of Computer Aided Instruction Versus Traditional Instruction in an Elementary Algebra Course
The purpose of this study was to compare and evaluate the effectiveness of computer assisted instruction versus traditional laboratory instruction for educating freshman college students (n=174) about elementary algebra. The study treated computer testing and tutorial simulated instruction and traditional instruction as independent variables and learning outcome and attitude, based on posttest scores, as the dependent variables. The findings indicated that sequence of the both methods of instructions was a significant factor. Students learned more mathematical concepts when they utilized the traditional method of instruction and then used computer laboratory instruction (MyMthLab)
Putting Instruction Sequences into Effect
An attempt is made to define the concept of execution of an instruction
sequence. It is found to be a special case of directly putting into effect of
an instruction sequence. Directly putting into effect of an instruction
sequences comprises interpretation as well as execution. Directly putting into
effect is a special case of putting into effect with other special cases
classified as indirectly putting into effect
Towards Smart Hybrid Fuzzing for Smart Contracts
Smart contracts are Turing-complete programs that are executed across a
blockchain network. Unlike traditional programs, once deployed they cannot be
modified. As smart contracts become more popular and carry more value, they
become more of an interesting target for attackers. In recent years, smart
contracts suffered major exploits, costing millions of dollars, due to
programming errors. As a result, a variety of tools for detecting bugs has been
proposed. However, majority of these tools often yield many false positives due
to over-approximation or poor code coverage due to complex path constraints.
Fuzzing or fuzz testing is a popular and effective software testing technique.
However, traditional fuzzers tend to be more effective towards finding shallow
bugs and less effective in finding bugs that lie deeper in the execution. In
this work, we present CONFUZZIUS, a hybrid fuzzer that combines evolutionary
fuzzing with constraint solving in order to execute more code and find more
bugs in smart contracts. Evolutionary fuzzing is used to exercise shallow parts
of a smart contract, while constraint solving is used to generate inputs which
satisfy complex conditions that prevent the evolutionary fuzzing from exploring
deeper paths. Moreover, we use data dependency analysis to efficiently generate
sequences of transactions, that create specific contract states in which bugs
may be hidden. We evaluate the effectiveness of our fuzzing strategy, by
comparing CONFUZZIUS with state-of-the-art symbolic execution tools and
fuzzers. Our evaluation shows that our hybrid fuzzing approach produces
significantly better results than state-of-the-art symbolic execution tools and
fuzzers
Software-Based Self-Test of Set-Associative Cache Memories
Embedded microprocessor cache memories suffer from limited observability and controllability creating problems during in-system tests. This paper presents a procedure to transform traditional march tests into software-based self-test programs for set-associative cache memories with LRU replacement. Among all the different cache blocks in a microprocessor, testing instruction caches represents a major challenge due to limitations in two areas: 1) test patterns which must be composed of valid instruction opcodes and 2) test result observability: the results can only be observed through the results of executed instructions. For these reasons, the proposed methodology will concentrate on the implementation of test programs for instruction caches. The main contribution of this work lies in the possibility of applying state-of-the-art memory test algorithms to embedded cache memories without introducing any hardware or performance overheads and guaranteeing the detection of typical faults arising in nanometer CMOS technologie
Neural Machine Translation Inspired Binary Code Similarity Comparison beyond Function Pairs
Binary code analysis allows analyzing binary code without having access to
the corresponding source code. A binary, after disassembly, is expressed in an
assembly language. This inspires us to approach binary analysis by leveraging
ideas and techniques from Natural Language Processing (NLP), a rich area
focused on processing text of various natural languages. We notice that binary
code analysis and NLP share a lot of analogical topics, such as semantics
extraction, summarization, and classification. This work utilizes these ideas
to address two important code similarity comparison problems. (I) Given a pair
of basic blocks for different instruction set architectures (ISAs), determining
whether their semantics is similar or not; and (II) given a piece of code of
interest, determining if it is contained in another piece of assembly code for
a different ISA. The solutions to these two problems have many applications,
such as cross-architecture vulnerability discovery and code plagiarism
detection. We implement a prototype system INNEREYE and perform a comprehensive
evaluation. A comparison between our approach and existing approaches to
Problem I shows that our system outperforms them in terms of accuracy,
efficiency and scalability. And the case studies utilizing the system
demonstrate that our solution to Problem II is effective. Moreover, this
research showcases how to apply ideas and techniques from NLP to large-scale
binary code analysis.Comment: Accepted by Network and Distributed Systems Security (NDSS) Symposium
201
- …