@INPROCEEDINGS{BrasselHanusHuchSilvaVidal04LOPSTR, author = {Bra{\ss}el, B. and Hanus, M. and Huch, F. and Silva, J. and Vidal, G.}, title = {Run-Time Profiling of Functional Logic Programs}, year = {2005}, booktitle = {Proceedings of the International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR'04)}, pages = {182-197}, publisher = {Springer LNCS 3573}, abstract = { In this work, we introduce a profiling scheme for modern functional logic languages covering notions like laziness, sharing, and non-determinism. Firstly, we instrument a natural (big-step) semantics in order to associate a symbolic cost to each basic operation (e.g., variable updates, function unfoldings, case evaluations). While this \emph{cost semantics} provides a formal basis to analyze the cost of a computation, the implementation of a cost-augmented interpreter based on it would introduce a huge overhead. Therefore, we also introduce a sound transformation that instruments a program such that its execution---under the standard semantics---yields not only the corresponding results but also the associated costs. Finally, we describe a prototype implementation of a profiler based on the developments in this paper. } }