skip to main content
10.1145/2528265.2528268acmotherconferencesArticle/Chapter ViewAbstractPublication PagesfosdConference Proceedingsconference-collections
research-article

Program slicing to understand software generators

Published:26 October 2013Publication History

ABSTRACT

Many large mainframe based business applications were developed with proprietary macro-based generator systems. To maintain these applications the legacy generators employed to generate them have to be maintained as well. This is a problem because of the generator code that is often hard to understand. A solution would be to replace the old generator technology with a new one. However, this requires a deep understanding of the old generators and the features of the programs they generate. This understanding is currently not available. We propose program slicing as a technique to support program understanding of generators and show its application in four use cases in that domain. We show the feasibility of the technique using real-world generators.

References

  1. fsp-gmbh.com.Google ScholarGoogle Scholar
  2. ibm.com/software/awdtools/vapacbase.Google ScholarGoogle Scholar
  3. d-s-t-g.com, 2013.Google ScholarGoogle Scholar
  4. C. Allauzen, M. Riley, J. Schalkwyk, W. Skut, and M. Mohri. Openfst: A general and efficient weighted finite-state transducer library. In J. Holub and J. Ždárek, editors, Implementation and Application of Automata, volume 4783 of LNCS, pages 11--23. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Aung, S. Horwitz, R. Joiner, and T. Reps. Specialization Slicing. Technical Report TR-1776.Google ScholarGoogle Scholar
  6. D. Binkley and M. Harman. A survey of empirical results on program slicing. In Advances in Computers, volume 62. Elsevier, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  7. E. Bodden, M. Mezini, C. Brabrand, T. Tolêdo, M. Ribeiro, and P. Borba. Spllift -- statically analyzing software product lines in minutes instead of years. In Proc. Conf. Programming Language Design and Implementation. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Brabrand, M. Ribeiro, T. Tolêdo, and P. Borba. Intraprocedural dataflow analysis for software product lines. In Proc. Int. Conf. Aspect-oriented Software Development, pages 13--24. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Brabrand and M. I. Schwartzbach. Growing languages with metamorphic syntax macros. SIGPLAN Notices, 37: 31--40, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. R. Cordy. The txl source transformation language. Sci. Comput. Program., 61: 190--210, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, 25: 53--95, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  12. Driscoll, Thakur, Burton, and Reps. WALi: Nested-Word Automata. Technical Report.Google ScholarGoogle Scholar
  13. J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. Efficient algorithms for model checking pushdown systems. In E. Emerson and A. Sistla, editors, Computer Aided Verification, volume 1855 of LNCS. Springer, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. SIGPLAN Not, 23: 35--46, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Kamischke, M. Lochau, and H. Baller. Conditioned model slicing of feature-annotated state machines. In Proc. Int. Workshop Feature-Oriented Software Development, FOSD '10. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. Kästner, P. G. Giarrusso, T. Rendel, S. Erdweg, K. Ostermann, and T. Berger. Variability-aware parsing in the presence of lexical macros and conditional compilation. SIGPLAN Notices, 46, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Liebig, A. von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer. Scalable analysis of variable software. In Proc. EuroSys Conf., 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Ribeiro, F. Queiroz, P. Borba, T. Tolêdo, C. Brabrand, and S. Soares. On the impact of feature dependencies when maintaining preprocessor-based software product lines. In Proc. Int. Conf. Generative Programming and Component Engineering, GPCE '08, pages 23--32. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. M. Triance and P. J. Layzell. Macro processors for enhancing high-level languages - some design principles. Comput. J., 28: 34--43, 1985.Google ScholarGoogle ScholarCross RefCross Ref
  20. L. Vidács, J. Jász, Á. Beszédes, and T. Gyimóthy. Combining preprocessor slicing with c/c++ language slicing. In Proc. Int. Conf. Program Comprehension. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. Xu, J. Qian, X. Zhang, Z. Wu, and L. Chen. A brief survey of program slicing. SIGSOFT Softw. Eng. Notes, 30: 1--36, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Program slicing to understand software generators

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      FOSD '13: Proceedings of the 5th International Workshop on Feature-Oriented Software Development
      October 2013
      56 pages
      ISBN:9781450321686
      DOI:10.1145/2528265

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 26 October 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      FOSD '13 Paper Acceptance Rate6of8submissions,75%Overall Acceptance Rate17of28submissions,61%
    • Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)1

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader