ترغب بنشر مسار تعليمي؟ اضغط هنا

372 - Abel Nieto 2018
Given two MIPS programs, when are they equivalent? At first glance, this is tricky to define, because of the unstructured nature of assembly code. We propose the use of alternating concolic execution to detect whether two programs are disequivalent. We have implemented our approach in a tool called Tamarin, which includes a MIPS emulator instrumented to record symbolic traces, as well as a concolic execution engine that integrates with the Z3 solver. We show that Tamarin is able to reason about program disequivalence in a number of scenarios, without any a-priori knowledge about the MIPS programs under consideration.
87 - Abel Nieto 2017
The Dependent Object Types (DOT) calculus formalizes key features of Scala. The D$_{<: }$ calculus is the core of DOT. To date, presentations of D$_{<: }$ have used declarative typing and subtyping rules, as opposed to algorithmic. Unfortunately, alg orithmic typing for full D$_{<: }$ is known to be an undecidable problem. We explore the design space for a restricted version of D$_{<: }$ that has decidable typechecking. Even in this simplified D$_{<: }$ , algorithmic typing and subtyping are tricky, due to the bad bounds problem. The Scala compiler bypasses bad bounds at the cost of a loss in expressiveness in its type system. Based on the approach taken in the Scala compiler, we present the Step Typing and Step Subtyping relations for D$_{<: }$. We prove these relations sound and decidable. They are not complete with respect to the original D$_{<: }$ rules.
mircosoft-partner

هل ترغب بارسال اشعارات عن اخر التحديثات في شمرا-اكاديميا