Question: Problem 4(6 points): Each of the following code segments (in Atlas graph language) computes architectural information shown as a graph. For each segment: Show the

 Problem 4(6 points): Each of the following code segments (in Atlas

Problem 4(6 points): Each of the following code segments (in Atlas graph language) computes architectural information shown as a graph. For each segment:

  1. Show the result produced by each segment.
  2. Describe in one or two sentences exactly what is the architectural information computed by the segment.
  3. Try to find a pattern by performing experiments on two types of functions: (A) functions that contain only one loop, (B) functions that contain multiple loops. Use the pattern to describe how the code segments relate to each other in terms the information they compute.

Segment 1:

var dskenq = functions("dskenq")

var dskenqCFG = cfg(dskenq)

var dskenqLoops = dskenqCFG.nodes(XCSG.Loop)

var loopBody = edges(XCSG.ControlFlow_Edge).between(dskenqLoops,dskenqLoops)

Segment 2:

var kputc = functions("kputc")

var kputcCFG = cfg(kputc)

var kputcLoops = kputcCFG.nodes(XCSG.Loop)

var loopBody = edges(XCSG.ControlFlow_Edge).between(kputcLoops,kputcLoops)

Segment 3:

var kputc = functions("kputc")

var kputcCFG = cfg(kputc)

var kputcLoops = kputcCFG.nodes(XCSG.Loop)

var loopMembers = edges(XCSG.LoopChild).forward(kputcLoops).retainNodes

var loopBody = loopMembers.induce(edges(XCSG.ControlFlow_Edge))

Problem 4(6 points): Each of the following code segments (in Atlas graph language) computes architectural information shown as a graph. For cach segment: 1. 2. Show the result produced by each segment. Describe in one or two sentences exactly what is the architectural information computed by the segment Try to find a pattern by performing experiments on two types of functions: (A) functions that contain only one loop, (B) functions that contain multiple loops. Use the pattern to describe how the code segments relate to each other in terms the information they compute 3. Segment1 var ds kenq = functions ("dskenq") var dskenqCFG-cfg (dskenq) var dake nqLoops = ds kengCFG.nodes (XCSG.Loop) var loopBody edges (XCSG.ControlFlow_Edge).between (dskenqLoops, dskenqLoops) Segment 2: var kputc-functions ("kputc") var kputcCFG-cfg(kputc) var kputcLoopskputcCFG. nodes (XCSG. Loop) var loopBody edges (XCSG.ControlFlow Edge).between (kputcLoops, kputcLoops) Segment 3: var kputc-functions "kputc") var kputcCFG-cig (kputc) var kputcLoopskputcCFG. nodes (XCSG. Loop) var loopMembers edges (XCSG. Loopchild). forward ( kputcLoops, retai nNodes var loopBody loopMembers.induce (edges (XCSG.ControlFlow Edge)) Problem 4(6 points): Each of the following code segments (in Atlas graph language) computes architectural information shown as a graph. For cach segment: 1. 2. Show the result produced by each segment. Describe in one or two sentences exactly what is the architectural information computed by the segment Try to find a pattern by performing experiments on two types of functions: (A) functions that contain only one loop, (B) functions that contain multiple loops. Use the pattern to describe how the code segments relate to each other in terms the information they compute 3. Segment1 var ds kenq = functions ("dskenq") var dskenqCFG-cfg (dskenq) var dake nqLoops = ds kengCFG.nodes (XCSG.Loop) var loopBody edges (XCSG.ControlFlow_Edge).between (dskenqLoops, dskenqLoops) Segment 2: var kputc-functions ("kputc") var kputcCFG-cfg(kputc) var kputcLoopskputcCFG. nodes (XCSG. Loop) var loopBody edges (XCSG.ControlFlow Edge).between (kputcLoops, kputcLoops) Segment 3: var kputc-functions "kputc") var kputcCFG-cig (kputc) var kputcLoopskputcCFG. nodes (XCSG. Loop) var loopMembers edges (XCSG. Loopchild). forward ( kputcLoops, retai nNodes var loopBody loopMembers.induce (edges (XCSG.ControlFlow Edge))

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!