Title :
JPROFILE102: A system for experimental analysis of algorithms
Author :
Krajangthong, Tanin ; Prasitjutrakul, Somchai
Author_Institution :
Dept. of Comput. Eng., Chulalongkorn Univ., Bangkok, Thailand
fDate :
May 30 2012-June 1 2012
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.
Keywords :
Java; computer science education; educational courses; hypermedia markup languages; program compilers; program diagnostics; source coding; teaching; trees (mathematics); HTML page; JPROFILE102 system; Java IDE; Java methods; abstract syntax tree; algorithm analysis courses; algorithm experimental analysis; execution count histogram; extracounting instruction insertion; instruction nodes; method call handling; profiling data; run-time call stack; source code parsing; source-code instrumentation technique; teaching aid; tree traversing; Abstracts; Algorithm design and analysis; Arrays; Histograms; Instruments; Java; Radiation detectors; analysis of algorithm; experimental analysis;
Conference_Titel :
Computer Science and Software Engineering (JCSSE), 2012 International Joint Conference on
Conference_Location :
Bangkok
Print_ISBN :
978-1-4673-1920-1
DOI :
10.1109/JCSSE.2012.6261953