Control Flow Graph for Smalltalk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Control Flow Graph for Smalltalk

Nevena Milojkovic
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 






Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

Clément Béra
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,

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: <a href="tel:%2B41%20%280%2931%20511%207639" value="+41315117639">+41 (0)31 511 7639
webpage: http://scg.unibe.ch/staff/Milojkovic







Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

Nicolai Hess
In reply to this post by Nevena Milojkovic


2015-07-06 13:21 GMT+02:00 Nevena Milojkovic <[hidden email]>:
Hi all,

Can anybody point me towards some tool/paper with the possibility to construct Control Flow Graph for Smalltalk?

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").



Cheers,
Nevena

————————
Nevena Milojkovic
Research assistant
Software Composition Group
Institute of Computer Science and Applied Mathematics
University of Bern

email: [hidden email]
office phone: <a href="tel:%2B41%20%280%2931%20511%207639" value="+41315117639">+41 (0)31 511 7639
webpage: http://scg.unibe.ch/staff/Milojkovic







Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

abergel
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
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

Francisco Garau-2
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 
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

Frank Shearar-3
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
>>
>>
>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Control Flow Graph for Smalltalk

stepharo
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
>>>
>>>
>>>
>>>
>>>
>>>
>