Hi all,
Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk? Cheers, Nevena ———————— Nevena Milojkovic Research assistant Software Composition Group Institute of Computer Science and Applied Mathematics University of Bern email: [hidden email] office phone: +41 (0)31 511 7639 webpage: http://scg.unibe.ch/staff/Milojkovic |
I don't think there is such a tool or paper. I built such a tool for a compiler IR but I don't think it will fit your needs as I show strange IR nodes with compiler related information (it doesn't look like the original smalltalk code at all). The visualization is done with Roassal. I think if you get the Smalltalk AST with the semantic analysis done, you can easily detect which messageNode will be inlined to control flow operations, and therefore have a control flow graph. You can then display it with Roassal. However, Roassal is bad at handling graph cycles so I'd recommend that you show the control flow graph but back edges. Good luck Clément 2015-07-06 13:21 GMT+02:00 Nevena Milojkovic <[hidden email]>: Hi all, |
In reply to this post by Nevena Milojkovic
2015-07-06 13:21 GMT+02:00 Nevena Milojkovic <[hidden email]>: Hi all, There was a tool called compass. AFAIR it is a debugger that stores the execution path. (don't know where this is, I read in a paper about it "flow-centric debugging").
|
In reply to this post by Nevena Milojkovic
Hi Nevena,
I can give you the code of what we have done in Hapao. We indicate the self-call per class: http://bergel.eu/download/papers/Berg12c-HapaoSCP.pdf As Nicolai and Clément said, this is rather easy to obtain. Cheers, Alexandre > On Jul 6, 2015, at 1:21 PM, Nevena Milojkovic <[hidden email]> wrote: > > Hi all, > > Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk? > > Cheers, > Nevena > > ———————— > Nevena Milojkovic > Research assistant > Software Composition Group > Institute of Computer Science and Applied Mathematics > University of Bern > > email: [hidden email] > office phone: +41 (0)31 511 7639 > webpage: http://scg.unibe.ch/staff/Milojkovic > > > > > > -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. |
In reply to this post by Nevena Milojkovic
Hi Nevena
To compute the control flow graph you would need to do concrete type inference. Search for Ole Agesen PhD thesis to have an idea what's that about. I've started a smalltalk implementation of his ideas in 2001 but never got beyond the proof of concept stage. I can forward the presentation slides later tonight. Cheers - Francisco > On 6 Jul 2015, at 12:21, Nevena Milojkovic <[hidden email]> wrote: > > Hi all, > > Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk? > > Cheers, > Nevena > > ———————— > Nevena Milojkovic > Research assistant > Software Composition Group > Institute of Computer Science and Applied Mathematics > University of Bern > > email: [hidden email] > office phone: +41 (0)31 511 7639 > webpage: http://scg.unibe.ch/staff/Milojkovic > > > > > > |
Olin Shivers' k-CFA stuff also computes call flow graphs (and can
infer types, and can determine when garbage can be released). A starting point might be here: http://matt.might.net/articles/implementation-of-kcfa-and-0cfa/ frank On 6 July 2015 at 14:30, Francisco Garau <[hidden email]> wrote: > Hi Nevena > > To compute the control flow graph you would need to do concrete type inference. > > Search for Ole Agesen PhD thesis to have an idea what's that about. > > I've started a smalltalk implementation of his ideas in 2001 but never got beyond the proof of concept stage. I can forward the presentation slides later tonight. > > Cheers > - Francisco > > >> On 6 Jul 2015, at 12:21, Nevena Milojkovic <[hidden email]> wrote: >> >> Hi all, >> >> Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk? >> >> Cheers, >> Nevena >> >> ———————— >> Nevena Milojkovic >> Research assistant >> Software Composition Group >> Institute of Computer Science and Applied Mathematics >> University of Bern >> >> email: [hidden email] >> office phone: +41 (0)31 511 7639 >> webpage: http://scg.unibe.ch/staff/Milojkovic >> >> >> >> >> >> > |
I have the code of lex spoon (chuck) based on Olin stuff.
If you are interested to see what you can do tiwh it. Le 6/7/15 17:42, Frank Shearar a écrit : > Olin Shivers' k-CFA stuff also computes call flow graphs (and can > infer types, and can determine when garbage can be released). > > A starting point might be here: > http://matt.might.net/articles/implementation-of-kcfa-and-0cfa/ > > frank > > On 6 July 2015 at 14:30, Francisco Garau <[hidden email]> wrote: >> Hi Nevena >> >> To compute the control flow graph you would need to do concrete type inference. >> >> Search for Ole Agesen PhD thesis to have an idea what's that about. >> >> I've started a smalltalk implementation of his ideas in 2001 but never got beyond the proof of concept stage. I can forward the presentation slides later tonight. >> >> Cheers >> - Francisco >> >> >>> On 6 Jul 2015, at 12:21, Nevena Milojkovic <[hidden email]> wrote: >>> >>> Hi all, >>> >>> Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk? >>> >>> Cheers, >>> Nevena >>> >>> ———————— >>> Nevena Milojkovic >>> Research assistant >>> Software Composition Group >>> Institute of Computer Science and Applied Mathematics >>> University of Bern >>> >>> email: [hidden email] >>> office phone: +41 (0)31 511 7639 >>> webpage: http://scg.unibe.ch/staff/Milojkovic >>> >>> >>> >>> >>> >>> > |
Free forum by Nabble | Edit this page |