1. JPROFILE102: A system for experimental analysis of algorithms.
- Author
-
Krajangthong, Tanin and Prasitjutrakul, Somchai
- Abstract
This paper presents a system called JPROFILE102 used for experimental analysis of algorithms. The system accepts algorithms implemented as Java methods along with experiment parameters specifying characteristics and sizes of input data. The objective is to count the number of times each source code instruction gets executed during the experiments. Source-code instrumentation technique is used by parsing the source code to obtain its associated abstract syntax tree, traversing the tree, inserting extra counting instructions at instruction nodes and finally transforming the tree back into an instrumented source code ready for experiments. To correctly handle method calls in the code (especially recursive calls), a separate run-time call stack has to be implemented to keep non-duplicated counter IDs in the call chain. All profiling data obtained from the experiments are summarized and reformatted into an HTML page with two views. One shows a histogram of execution counts. The other shows line plots of selected instruction counts vs. input data size to visualize efficiency behavior of the algorithm. The system is embedded into a Java IDE and effectively used as a teaching aid in several algorithm analysis courses. [ABSTRACT FROM PUBLISHER]
- Published
- 2012
- Full Text
- View/download PDF