FSE 2008

59

description

 

Transcript of FSE 2008

Page 1: FSE 2008
Page 2: FSE 2008
Page 3: FSE 2008

3

Page 4: FSE 2008

4

Page 5: FSE 2008

5

Page 6: FSE 2008
Page 7: FSE 2008

7

Page 8: FSE 2008

8

Page 9: FSE 2008

9

Page 10: FSE 2008

10

Page 11: FSE 2008
Page 12: FSE 2008
Page 13: FSE 2008

13

Page 14: FSE 2008

14

Page 15: FSE 2008

15

Page 16: FSE 2008

16

0 1 20 1 2

Page 17: FSE 2008

17

Page 18: FSE 2008

18

Page 19: FSE 2008

19

Page 20: FSE 2008

20

Page 21: FSE 2008

21

Page 22: FSE 2008

22

Page 23: FSE 2008

23

Page 24: FSE 2008

24

Page 25: FSE 2008

25

Page 26: FSE 2008

26

Page 27: FSE 2008

27

Page 28: FSE 2008

28

Page 29: FSE 2008
Page 30: FSE 2008
Page 31: FSE 2008
Page 32: FSE 2008

32

Page 33: FSE 2008

33

Page 34: FSE 2008

34

Page 35: FSE 2008

35

Page 36: FSE 2008

36

Page 37: FSE 2008

37

Page 38: FSE 2008

38

Page 39: FSE 2008
Page 40: FSE 2008

40

Page 41: FSE 2008

41

Page 42: FSE 2008

42

Page 43: FSE 2008

43

Page 44: FSE 2008

44

Page 45: FSE 2008
Page 46: FSE 2008
Page 47: FSE 2008

public Block isMu(...) {... final Iterator iter = cfg.preds(phi.block()).iterator(); final Block pred1 = (Block) iter.next(); final Block pred2 = (Block) iter.next();

Page 48: FSE 2008

while (c == null && enumMap.hasMoreElements()) { ... if (!enumC.hasMoreElements()) c = null;}// At this point, c == null if there are no more elements,// and otherwise is the first collection with a free element// (with enumC set up to return that element).

if (c == null) { // no more elements, so return null;

return (null);} else { Perm answer = (Perm) enumC.nextElement(); ...

Page 49: FSE 2008

private final void FillBuff() {...try {

if ((i = inputStream.read(...)) == -1) {inputStream.close();throw new java.io.IOException();

}else

maxNextCharInd += i;return;

}...

}

Page 50: FSE 2008

50

static String getLine(BufferedReader reader, int line) { if (reader == null) return ""; try { String text=null; for(int i=0; i < line; i++) { text = reader.readLine(); } return text; } catch (IOException ioe) { return null; }}

Page 51: FSE 2008

51

private List markUsages(IDataFlowNode inode) {...for (Iterator k = ((List)entry.getValue())

.iterator();k.hasNext();) {addAccess(k, inode);

}...

}

...

private void addAccess(Iterator k, IDataFlowNode inode) {

NameOccurrence occurrence =(NameOccurrence) k.next();

... }

Page 52: FSE 2008

52

private List markUsages(IDataFlowNode inode) {...

for (NameOccurrence occurrence: entry.getValue()) {

addAccess(occurrence, inode);}...

}

...

private void addAccess(NameOccurrence occurrence,IDataFlowNode inode) {

... }

Page 53: FSE 2008

53

public Iterator iterator() { return new Iterator() { Iterator i = list.iterator(); public void remove() { throw new UnsupportedOperationException(); } public boolean hasNext() { return i.hasNext();

} public Object next() { return i.next();

} };}

Page 54: FSE 2008

54

Page 55: FSE 2008

55

Page 56: FSE 2008

56

Page 57: FSE 2008

57

Page 58: FSE 2008

58

Page 59: FSE 2008

59