Formal Methods for Interactive Systems Part 10 — Reverse Engineering with Matrix Algebra Antonio Cerone United Nations University International Institute for Software Technology Macau SAR China email: antonio@iist.unu.edu web: www.iist.unu.edu A. Cerone, UNU-IIST – p.1/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Define a model of an existing device A. Cerone, UNU-IIST – p.2/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering A. Cerone, UNU-IIST – p.2/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering ⇒ manifacturers do not provide formal = specifications A. Cerone, UNU-IIST – p.2/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering ⇒ manifacturers do not provide formal = specifications ⇒ formal specifications must be reconstructed = A. Cerone, UNU-IIST – p.2/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Process Reconstruct formal specification from • checking interaction results against the real device A. Cerone, UNU-IIST – p.3/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Process Reconstruct formal specification from • checking interaction results against the real device • observing user-machine interaction in the real operating environemt A. Cerone, UNU-IIST – p.3/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Process Reconstruct formal specification from • checking interaction results against the real device • observing user-machine interaction in the real operating environemt • interviewing real users and manifacturer A. Cerone, UNU-IIST – p.3/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Reverse Engineering Process Reconstruct formal specification from • checking interaction results against the real device • observing user-machine interaction in the real operating environemt • interviewing real users and manifacturer • checking documentation (e.g., user manual) A. Cerone, UNU-IIST – p.3/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs RE Advantages • model of a real system = ⇒ no need to specify it in a paper) A. Cerone, UNU-IIST – p.4/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs RE Advantages • model of a real system = ⇒ no need to specify it in a paper) • results can be verified against the device by the reader A. Cerone, UNU-IIST – p.4/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs RE Advantages • model of a real system = ⇒ no need to specify it in a paper) • results can be verified against the device by the reader • case studies are more credible ⇐ = not tailored for the used modelling / verification approach A. Cerone, UNU-IIST – p.4/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate • semantics reflects human way of thinking A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate • semantics reflects human way of thinking • have A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate • semantics reflects human way of thinking • have • structure = ⇒ easy modelling A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate • semantics reflects human way of thinking • have • structure = ⇒ easy modelling • properties = ⇒ verification tool A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Matrix Algebra to describe interaction human-machine Matrices • are standard mathematical objects with a long history ⇒ no need to introduce yet another notation = • are easy to calculate • semantics reflects human way of thinking • have • structure = ⇒ easy modelling • properties = ⇒ verification tool [Thimbleby 04] A. Cerone, UNU-IIST – p.5/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Example: Pushbutton Switch A ligh bulb controlled by a pushbutton switch A. Cerone, UNU-IIST – p.6/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Example: Pushbutton Switch A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off. A. Cerone, UNU-IIST – p.6/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Example: Pushbutton Switch A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off. • 2 states: ON and OFF • 1 operation: push A. Cerone, UNU-IIST – p.6/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Example: Pushbutton Switch A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off. • 2 states: ON and OFF • 1 operation: push [Thimbleby 04] A. Cerone, UNU-IIST – p.6/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Model of Pushbutton Switch push ✬ ✩ ✓ ✏ ✓ ✏ ❄ ✒ ✑ ✒ ✑ OFF ON ✻ push ✫ ✪ A. Cerone, UNU-IIST – p.7/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Model of Pushbutton Switch push ✬ ✩ ✓ ✏ ✓ ✏ ❄ ✒ ✑ ✒ ✑ OFF ON ✻ push ✫ ✪ OFF = 0 , 1 ON = 1 , 0 A. Cerone, UNU-IIST – p.7/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Model of Pushbutton Switch push ✬ ✩ ✓ ✏ ✓ ✏ ❄ ✒ ✑ ✒ ✑ OFF ON ✻ push ✫ ✪ OFF = 0 , 1 ON = 1 , 0 0 1 push = 1 0 A. Cerone, UNU-IIST – p.7/26
Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs Pushbutton Switch Transition OFF = 0 , 1 ON = 1 , 0 0 1 push = 1 0 A. Cerone, UNU-IIST – p.8/26
Recommend
More recommend