Extraction of High-level Semantics from Software Code |
public int add ArrayList<St int nWidth = while (st < int height if (st * r img.chec } else if ...
Disclaimer: Not much has been done.
Backgrounds |
Software controls...
How many had software glitch in the past month?
Apple's "GotoFail" (2014)
static OSStatus SSLVerifySignedServerKeyExchange(...) { OSStatus err; ... if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail;goto fail;if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; ... fail: SSLFreeBuffer(&signedHashes); SSLFreeBuffer(&hashCtx); return err; }
Problem Description |
a = 100; b = 2; c = a + b; d = a * c; ...
if (c == 1) { b = b - 100; a1 = a1 + 1; } else if (c == 2) { b = b - 300; a2 = a2 + 1; } else ...
b
?
if (choice == 1) { money = money - 100; item1 = item1 + 1; } else if (choice == 2) { money = money - 300; item2 = item2 + 1; } else ...
money
: Quantity you can exchange with any item.
if (x) { y = y - 1; } if (y == 0) { g(); } ...
y
?
if (hit) { life = life - 1; } if (life == 0) { gameover(); } ...
life
: Quantiy that decreases when you're hit. Methodology |
pow(x, y) { z = 1; while (0 < y) { z *= x; y -= 1; } return z; }
if (c == 1) { b = b - 10 a1 = a1 + } else if (c = ...
Wrap-up |