Abstract
Domain-specific languages (DSL) provides high-level functions making applications easier to write, and to maintain. Unfortunately, many applications are written from scratch and poorly documented, which make them hard to maintain. An ideal solution should be to rewrite them in a appropriate DSL. In this paper, we present TeMa (Template Matcher), an automatic tool to recognize high-level functions in source code. Preliminary results show how TeMa can be used to reformulate Fortran code into Signal Processing Language (SPL) used in SPIRAL. This opens new possibilities for domain-specific languages.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alias, C., Barthou, D.: Algorithm recognition based on demand-driven data-flow analysis. In: 10th Working Conference on Reverse Engineering (WCRE). IEEE Computer Society Press, Los Alamitos (2003)
Barthou, D., Feautrier, P., Redon, X.: On the equivalence of two systems of affine recurrence equations. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, p. 309. Springer, Heidelberg (2002)
Cimetile, A., De Lucia, A., Munro, M.: A specification driven slicing process for identifying reusable functions. Journal of Software Maintenance: Research and Practice 8(3), 145–178 (1996)
Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (1997); release October 1 (2002)
Doner, J.E.: Decidability of the weak second-order theory of two successors. Notices Amer. Math. Soc. 12, 365–468 (1965)
Doner, J.E.: Tree acceptors and some of their applications. Journal of Comput. and Syst. Sci. 4, 406–451 (1970)
Dongarra, J.: The linpack benchmark: An explanation. In: Proceedings of the 1st International Conference on Supercomputing, pp. 456–474. Springer, Heidelberg (1988)
Henning, J.: Spec cpu2000: Measuring cpu performance in the new millennium. Computer 33(7), 28–35 (2000)
Kim, S.-M., Kim, J.H.: A hybrid approach for program understanding based on graph-parsing and expectation-driven analysis. Journal of Applied A.I. 12(6), 521–546 (1998)
Kozaczynsky, W., Ning, J., Engberts, A.: Program concept recognition and transformation. IEEE Trans. on S.E. 18(12), 1065–1075 (1992)
Lattner, C., Adve, V.: LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In: Proceedings of CGO 2004, Palo Alto, California (March 2004)
Lawson, C.L., Hanson, R.J., Kincaid, D.R., Krogh, F.T.: Basic Linear Algebra Subprograms for Fortran usage. ACM Transactions on Mathematical Software 5(3), 308–323 (1979)
Di Martino, B., Iannello, G.: PAP recognizer: A tool for automatic recognition of parallelizable patterns. In: IWPC 2004, pp. 164–174. IEEE Computer Society Press, Los Alamitos (1996)
Metzger, R., Wen, Z.: Automatic Algorithm Recognition: A New Approach to Program Optimization. MIT Press, Cambridge (2000)
Muchnick, S.S.: Advanced compiler design and implementation. Morgan Kaufmann, San Francisco (1997)
Püschel, M., Singer, B., Xiong, J., Moura, J., Johnson, J., Padua, D., Veloso, M., Johnson, R.: Spiral: A generator for platform-adapted libraries of signal processing algorithms. J. of High Perf. Computing and Applications 1(18), 21–45 (2004)
Thatcher, J.W., Wright, J.B.: Generalized finite automata. Notices Amer. Math. Soc. (1965)
Thatcher, J.W., Wright, J.B.: Generalized finite automata with an application to a decision problem. Mathematical System Theory 2, 57–82 (1968)
Weiser, M.: Program slicing. IEEE Transactions on Software Engineering 10(4), 352–357 (1984)
Wills, L.M.: Automated Program Recognition by Graph Parsing. PhD thesis, MIT (July 1992)
Xiong, J., Johnson, J., Johnson, R., Padua, D.: Spl: A language and compiler for dsp algorithms. In: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation (PLDI), pp. 298–308 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alias, C., Barthou, D. (2005). On Domain-Specific Languages Reengineering. In: Glück, R., Lowry, M. (eds) Generative Programming and Component Engineering. GPCE 2005. Lecture Notes in Computer Science, vol 3676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561347_6
Download citation
DOI: https://doi.org/10.1007/11561347_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29138-1
Online ISBN: 978-3-540-31977-1
eBook Packages: Computer ScienceComputer Science (R0)