[Soot-list] Instrument for intercepting all network I/Os

Bodden, Eric eric.bodden at sit.fraunhofer.de
Thu Feb 12 06:15:54 EST 2015


Hi again.

> What I am trying to do is in essence part of dynamic slicing of distributed programs. I wanted to find all
> the network I/O related function calls in the user program in order to instrument for identifying inter-process (communication) dependencies, which are important parts of a distributed program slice.
> 
> I think the sniffers can help with network traffic monitoring or so in a standalone manner, but for my task, intercepting the network I/Os programmatically would be desired. I guess something similar to the instrumentation I want has been done by the sniffers inside, yet there is no source code available to refer to regarding how exactly they realized the sniffer functionalities.

Sniffing happens on a lower level, by intercepting traffic on the OS level. I think that, after all, this does not really compare to what you want to do.

> Although an alternative way would be modifying system calls related to network I/Os at OS level, or changing relevant APIs in JRE assuming that any network libraries the application program uses eventually resort to the JRE APIs, these approaches seem to be overly heavyweight.

Makes sense

> Also, I am wondering about the state of art/practice of source-code analysis dealing with interprocess dependencies in distributed systems.

I wonder whether this publication of ours is interesting to you:
http://www.bodden.de/pubs/omj+13effective.pdf

It explains how we statically resolve inter-component dependencies in Android. Maybe that gives you some ideas.

Cheers,
Eric
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150212/9b6868e1/attachment.bin 


More information about the Soot-list mailing list