[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JDBC Statements & Control Flow Information



On Sun, Oct 19, 2003 at 05:02:27PM -0400, Leon Krupkin wrote:

> Hi,
> 
> I'm interested in using soot to extract JDBC calls and control flow
> information associated with those calls from a class or an application.
> Ideally, I would like to be able to process a class and get the JDBC
> statements in that class, any variables that are used in those
> statements, and control flow for the statements and any variables they
> used. Has anyone done something like this or similar? 
> 

I am currently involved in a research project that is focusing on the
testing and analysis of database-driven applications.  Our ACM SIGSOFT
FSE 2003 paper describes some of the details behind our approach to
testing database-driven applications.  Since the family of test
adequacy criteria that we propose uses data flow information, we need
to process a programs bytecode to identify database interaction
points.  

However, simply finding the database interaction is not sufficient --
there is also a need to statically depict the specific interaction
with respect to database entities like the relations, the attributes,
the records, and the attribute values.  We integrate database
interaction graphs (DIGs) into standard control flow graphs (CFGs) in
order to produce a database interaction control flow graph (DICFG).

> Any advice you could give on how to approach this problem would be
> greatly appreciated.
> 

The suite of techniques that we are developing is called DIATOMS for
Database drIven Application Testing tOol ModuleS.  At the moment, we
do not have a downloadable implementation of some of our techniques.
However, my hope is that the FSE 2003 paper will provide you with some
insights about the kind of information you will need to collect.  We
do use SOOT to perform all of our program analysis.  We also use
additional SQL DML and DDL parsers in order to build the DICFGs.  We
would welcome your insights concerning your need to collect database
interaction information.

More details about DIATOMS can be found at:

http://cs.allegheny.edu/~gkapfham/research/diatoms/

Kind Regards,

greg

-- 
Gregory M. Kapfhammer
Instructor, Computer Science Department
Allegheny College
Office: 814-332-2880
gkapfham(at)allegheny(dot)edu
http://cs.allegheny.edu/~gkapfham/




-- 
Gregory M. Kapfhammer
Instructor, Computer Science Department
Allegheny College
Office: 814-332-2880
gkapfham(at)allegheny(dot)edu
http://cs.allegheny.edu/~gkapfham/