Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Christoph Csallner
[go: Go Back, main page]

Christoph's picture

Christoph Csallner

Ph.D. student
Working with Professor Yannis Smaragdakis
Email: csallner@cc.gatech.edu

My research interests are in program analysis and automated software engineering. My Ph.D. work is on static and dynamic program analyses and their combinations. Around these program analyses I am currently building completely automated test case generators.

Education: I received a degree in software engineering from the Universität Stuttgart, Germany.
Publications: DBLP; citations: Google Scholar
Software: DSD-Crasher, Check 'n' Crash, fb-crasher, JCrasher
Video: Google tech talk I gave on DSD-Crasher in Mountain View, California on 13 July 2006.

Testing

Combining static and dynamic reasoning for bug detection (Proc. International Conference on Tests And Proofs (TAP), 2007)
This is an invited paper that reviews our bug finding tools: Check 'n' Crash addresses the language-level unsoundness of static bug finding tools whereas DSD-Crasher also addresses their user-level unsoundness. We use a small case study to compare JCrasher, ESC/Java, Check 'n' Crash, and DSD-Crasher.
DSD-Crasher: A hybrid analysis tool for bug finding (Proc. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), 2006)
DSD-Crasher first uses Daikon to capture the subject's intended execution behavior, then statically analyzes this restricted domain with ESC/Java, and finally lets Check 'n' Crash generate and execute concrete test-cases to verify the results of ESC/Java. Received an ACM SIGSOFT Distinguished Paper Award.
Check 'n' Crash: Combining static checking and testing (Proc. 27th ACM/IEEE International Conference on Software Engineering (ICSE), 2005)
Check 'n' Crash uses ESC/Java to statically search for problems like null dereference, illegal type cast, or illegal array manipulation. Check 'n' Crash compiles ESC's results to JUnit test cases and executes them to filter out ESC's false positives.
JCrasher: An automatic robustness tester for Java (Software -- Practice & Experience, 2004)
JCrasher generates random test cases by chaining object constructors. It filters test case execution and presents only those that expose a bug or lack of robustness. It also enables JUnit to efficiently undo the changes a test case has done to testee class fields.

Invariant Detection

Dynamically discovering likely interface invariants (Proc. 28th ACM/IEEE International Conference on Software Engineering (ICSE), Emerging Results Track, 2006)
We propose a two-pass algorithm to support interfaces and method overriding in dynamic invariant detection. The first pass associates a method call with the method executed and all methods it overrides up to and including the static receiver to derive the methods' preconditions. The second pass associates a method call with every supertype whose precondition is met to derive non-conflicting postconditions.

Information Visualization

FundExplorer: Supporting the diversification of mutual fund portfolios using Context Treemaps (Proc. 9th IEEE Symposium on Information Visualization (InfoVis), 2003)
FundExplorer distorts a treemap to visualize positive values and zeros.

Career Advice

Avoid redundancy. In general, redundancy should best be avoided, generally speaking.

Structure the work but do not elaborate on the structure. The remainder of this website is organized as follows...

If you want to write a book, dissertation, master thesis, etc., Olin Shivers wrote the acknowledgements to match.

This Website

This website was updated on 3 July 2007 with bibtex2web and visited recently.