Small step vs big step semantics for static analysis?

To be an honest question poster I do not yet fully grasp the difference between small step and big step semantics. There was a good discussion here My question is if I were to do static analysis on a file to determine if it is malware, what would be better to use: small step or … Read more

How to express taking the next bit of an infinite string in small-step semantics?

I have to write a rule as part of a small step operational semantics (https://en.wikipedia.org/wiki/Operational_semantics). Whenever this rule is applied, the next bit belonging to an infinite bit string must be taken. Therefore, in the premise of the rule, I have to express that the next bit of a (previously) fixed bit string is taken. … Read more

How does one prove that Big Step semantics and Small Step semantics are equivalent for IMP?

I know there is this paper but I wanted to do a special case proof for just IMP for fun. So the theorem is: ⟨P,σ⟩→Big⟨{},σ′⟩⟺∃N∈N:⟨P,σ⟩→NSmall⟨{},σ′⟩ in words; the program P in state σ evaluates to the empty block IFF there exists a certain number of small step steps inference steps that arrives us to the … Read more

Small-step semantics: for-loops

I’m trying to construct the small-step semantic rules involving the for-loops, but I can’t find anything about it in the literature (only about while-loops). I was wondering if anyone could help me out with this? This is a first attempt, where s represents a statement and e an expression: σ,for s1e1e2s2→σ,if e1 then (s2;e2;for s1e1e2s2 ) else skip Where σ is … Read more

What is the significance of ⟨B, s⟩ -> ⟨B’, s’⟩ as the initial rule in this question about small-step semantics?

Revising for an exam and I’m trying to get to grips with operational semantics. Here’s the exam question that prompted me posting this: Exam Question: We add to the language SIMP two new commands, with abstract syntax defined by the grammar rule: C::=assert B before C∣abort The small step semantics of SIMP is extended with the following rules: … Read more

How does one deduce small step operational semantics?

This question arises from my reading of “Types and Programming Languages” (WoldCat) by Benjamin C. Pierce. For the small step operational semantic evaluation rules for the arithmetic expressions (NB) in Figure 3-2 on page 41, there is the rule pred(succnv1)→nv1 My understanding is that it is to keep out invalid input like pred(false) but how … Read more

TAPL: Explanation and example(s) for satisfied

This question arises from my reading of “Types and Programming Languages” (WorldCat) by Benjamin C. Pierce. On page 36 is the definition for satisfied A rule is satisfied by a relation if, for each instance of the rule, either the conclusion is in the relation or one of the premises is not. On page 36 … Read more

Difference Between Small and Big-step Operational Semantics

What’s the fundamental difference(s) between small and big-step operational semantics? I’m having a hard time grasping what it is and the motivation for having the two. Answer Small-step semantics defines a method to evaluate expressions one computation step at a time. Formally speaking, a small-step semantics for an expression language E is a relation →:E×E … Read more