SciELO - Scientific Electronic Library Online

 
vol.17 número2SOLUCIÓN COMPUTACIONAL DE MODELOS BIOLÓGICOS DE FORMACIÓN DE PATRONES ESPACIO-TEMPORALESUBICACIÓN ÓPTIMA DE RECONECTADORES EN SISTEMAS DE DISTRIBUCIÓN PARA MINIMIZAR LA FRECUENCIA MEDIA DE INTERRUPCIÓN índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

Compartir


Ingeniare. Revista chilena de ingeniería

versión On-line ISSN 0718-3305

Ingeniare. Rev. chil. ing. v.17 n.2 Arica ago. 2009

http://dx.doi.org/10.4067/S0718-33052009000200008 

Ingeniare. Revista chilena de ingeniería, vol. 17 Nº 2, 2009, pp. 195-204

 

PROBABILISTIC COST ANALYSIS OF LOGIC PROGRAMS

 ANÁLISIS DE COSTO PROBABILÍSTICO DE PROGRAMAS LÓGICOS

 Héctor Juan Soza Pollman1

           

1 Universidad Católica del Norte. Departamento de Ingeniería de Sistemas y Computación. Av. Angamos 0610. Casilla 1280. Antofagasta, Chile. E-mail: hsoza@ucn.cl


RESUMEN 

Se han desarrollado análisis de costos de programas lógicos para obtener automáticamente cotas superiores e inferiores del costo del tiempo de ejecución de dicho tipo de programas. Esta información es muy útil para una variedad de propósitos, incluyendo control de granularidad, optimización de consultas en bases de datos, y transformación de programas y síntesis. Sin embargo, las técnicas actuales carecen de exactitud en algunos casos que son bastante representativos (por ejemplo, algunos programas de dividir para reinar como Quicksort). Este artículo describe un enfoque probabilístico alternativo que hace posible obtener una estimación más precisa del costo de ejecución. Una de sus ventajas es que plantea sólo unos pocos cambios sobre los esquemas propuestos previamente.

Palabras clave: Programación lógica, análisis de costo, análisis de complejidad, análisis de programas, estimación del consumo de recursos.


ABSTRACT

Cost analyses of logic programs have been developed which make it possible to obtain automatically lower and upper bounds of runtime cost of computations. This information is very useful for a variety of purposes, including granularity control, query optimization in databases, and program transformation and synthesis. However, current techniques suffer a loss of accuracy in some cases which are quite representative (i.e., some divide-and-conquer programs as QuickSort). This paper describes an alternative probabilistic approach which makes it possible to figure out an estimate of the execution cost. One of its advantages is that it needs only a few changes over previously proposed schemes.

Keywords: Logic programming, cost analysis, complexity analysis, program analysis, resource consumption estimation.


REFERENCES 

[1] P. Cousot and R. Cousot. "Abstract interpretation frameworks". Journal of Logic Computation, Vol. 2 Nº 4, pp. 511-547. 1992.        [ Links ]

[2] S. Debray and N. Lin. "Static Estimation of Query Sizes in Horn Programs". Third International Conference on Database Theory. Lecture Notes in Computer Science Nº 470, pp. 515-528. Paris, France. Springer-Verlag. December 1990.        [ Links ]

[3] S. Debray, N. Lin and M. Hermenegildo. "Task Granularity Analysis in Logic Programs". Proceedings of the 1990 ACM Conf. on Programming Language Design and Implementation, pp. 174-188. ACM Press. June 1990.        [ Links ]

[4] S. Debray and N. Lin. "Cost analysis of logic programs". ACM Transactions on Programming Languages and Systems. Vol. 15 Nº 5, pp. 826-875. November 1993.        [ Links ]

[5] S. Debray, P. López-García, M. Hermenegildo and N. Lin. "Estimating the Computational Cost of Logic Programs". Static Analysis Symposium, SAS’94. Nº 864. LNCS, pp. 255-265. Springer-Verlag. September 1994.         [ Links ]

[6] S. Debray, P. López-García, M. Hermenegildo and N. Lin. "Lower Bound Cost Estimation for Logic Programs". Proceedings of 1997 International Logic Programming Symposium, pp. 291-305. MIT Press. Cambridge, MA. October 1997.        [ Links ]

[7] P. Flajolet, B. Salvy and P. Zimmermann. "Automatic Average-Case Analysis of Algorithms". Theor. Comp. Sci. Vol. 79 Nº 1, pp. 37-109. 1991.        [ Links ]

[8] M. Hermenegildo, E. Albert, P. López-García and G. Puebla. "Some Techniques for Automated, Resource-Aware Distributed and Mobile Computing in a Multi-Paradigm Programming System". Proceedings of EURO–PAR 2004, Nº 3149. LNCS, pp. 21-37. Springer-Verlag. August 2004.        [ Links ]

[9] M. Hermenegildo, E. Albert, P. López-García and G. Puebla. "Abstraction Carrying Code and Resource-Awareness". Proceedings of PPDP’05. ACM Press. July 2005.        [ Links ]

[10] M. Hermenegildo, G. Puebla, F. Bueno and P. López-García. "Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and the Ciao System Preprocessor)". Science of Computer Programming, Vol. 58 Nº 1-2, pp. 115-140. October 2005.        [ Links ]

[11] L. Huelsbergen, J. Larus and A. Aiken. "Using Run-Time List Sizes to Guide Parallel Thread Creation". Proceedings of ACM Conf. on Lisp and Functional Programming. June 1994.        [ Links ]

[12] N. Jones and F. Nielson. "Abstract interpretation: a semantics-based tool for program analysis". Handbook of Logic in Computer Science. Oxford University Press, pp. 527-629. 1994.        [ Links ]

[13] S. Kaplan. "Algorithmic Complexity of Logic Programs". Logic Programming, Proceedings of  Fifth International Conference and Symposium, pp. 780-793. Seattle, Washington. 1988.        [ Links ]

[14] P. López-García, M. Hermenegildo and S. Debray. "A Methodology for Granularity Based Control of Parallelism in Logic Programs". Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation. Vol. 22, pp. 715-734. 1996.        [ Links ]

[15] F. Rabhi and G. Manson. "Using Complexity Functions to Control Parallelism in Functional Programs". Res. Rep. CS-90-1. Dept. of Computer Science. Univ. of Sheffield. England. January 1990.        [ Links ]

[16] L. Sterling and E. Shapiro. "The Art of Prolog: Advanced Programming Techniques". MIT Press. Second edition. 1994.        [ Links ]

[17] X. Zhong, E. Tick, S. Duvvuru, L. Hansen, A.V.S. Sastry, R. Sundararajan. "Towards an Efficient Compile-Time Granularity Analysis Algorithm". Proceedings of the 1992 International Conference on Fifth Generation Computer Systems, pp. 809–816. Institute for New Generation Computer Technology (ICOT). June 1992.        [ Links ]

Received: May 9, 2007, Accepted: May 15, 2009

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons