+ All Categories
Home > Documents > Stateful Breakpoints - Bodden

Stateful Breakpoints - Bodden

Date post: 27-Dec-2021
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
25
Stateful Breakpoints Eric Bodden
Transcript
Page 1: Stateful Breakpoints - Bodden

Stateful BreakpointsEric Bodden

Page 2: Stateful Breakpoints - Bodden

“After closing a stream sdo not read from s any longer.”

2

APIs come with usage rules

Page 3: Stateful Breakpoints - Bodden

“After closing a stream sdo not read from s any longer.”

2

open closed error

read close close,read

close read

APIs come with usage rules

Page 4: Stateful Breakpoints - Bodden

Idea

3

Automatically halt program when

it violates a rule

Page 5: Stateful Breakpoints - Bodden

4

read

closeclose(file)

read(theFile)

Conditional Breakpointscannot refer to “old” state

Page 6: Stateful Breakpoints - Bodden

4

read

closeclose(file)

read(theFile)

Conditional Breakpointscannot refer to “old” state

Page 7: Stateful Breakpoints - Bodden

4

read

closeclose(file)

read(theFile)

file==theFile

Conditional Breakpointscannot refer to “old” state

Page 8: Stateful Breakpoints - Bodden

4

read

closeclose(file)

read(theFile)

file==theFile

Conditional Breakpointscannot refer to “old” state

Page 9: Stateful Breakpoints - Bodden

5

close(f1)

read(f)close(f)

Proposal: Stateful Breakpoints

Page 10: Stateful Breakpoints - Bodden

5

close(f1)

read(f)close(f)

Proposal: Stateful Breakpoints

Page 11: Stateful Breakpoints - Bodden

5

close(f1)read(f2)

read(f)close(f)

Proposal: Stateful Breakpoints

Page 12: Stateful Breakpoints - Bodden

5

close(f1)read(f2)read(f1)

read(f)close(f)

Proposal: Stateful Breakpoints

Page 13: Stateful Breakpoints - Bodden

5

close(f1)read(f2)read(f1)

read(f)close(f)

Proposal: Stateful Breakpoints

Page 14: Stateful Breakpoints - Bodden

6

Current Prototype

Page 15: Stateful Breakpoints - Bodden

6

Current Prototype

Page 16: Stateful Breakpoints - Bodden

6

Current Prototype

Page 17: Stateful Breakpoints - Bodden

6

Current Prototype

Page 18: Stateful Breakpoints - Bodden

6

Current Prototype

Page 19: Stateful Breakpoints - Bodden

6

Current Prototype

Page 20: Stateful Breakpoints - Bodden

Use Cases

7

1.) Simplify Debugging

2.) Attach SB to bug report

3.) Ship SBs with library

Page 21: Stateful Breakpoints - Bodden

8

Implementation

Builds on MOPBox library:http://mopbox.googlecode.com/Demo at RV 2007

Fire parameterized events at MOPBox monitors

MOPBox calls back when regex matches

Page 22: Stateful Breakpoints - Bodden

9

Open Questions

Anything missing?

Maybe still too hard to specify?

Can Stateful Breakpoints be inferred?

Page 23: Stateful Breakpoints - Bodden

10

Related WorkControl-flow BreakpointsChern & De Volder, AOSD 2007

Omniscient/Re-executing DebuggersPothier et al., OOPSLA 2007Mirghasemi et al., ESEC/FSE 2011

Typestate verification, runtime monitoringBierhoff & Aldrich, OOPSLA 2007Allan et al., OOPSLA 2005 (Tracematches)Chen & Rosu, OOPSLA 2007 (JavaMOP)

Fault localization toolsAyewah et al., OOPSLA 2007 (FindBugs)

here!

Page 24: Stateful Breakpoints - Bodden

11

http://bodden.de/sbp/

close(f1)read(f2)read(f1)

read(f)close(f)

http://bodden.de/mopbox/

Page 25: Stateful Breakpoints - Bodden

11

http://bodden.de/sbp/

close(f1)read(f2)read(f1)

read(f)close(f)

http://bodden.de/mopbox/


Recommended