skip to main content
article

Instruction-coated translation: an approach to restructure directly threaded interpreters with low cohesion

Published:01 August 2006Publication History
Skip Abstract Section

Abstract

A directly threaded interpreter is used to speedup the virtual instruction dispatch. It is composed of translation and interpretation functions. It has low cohesion naturally due to the use of "label as value". This paper presents a restructuring method to envelop the translation function as a new virtual instruction to make the directly threaded interpreter have a single interpreting task and have high cohesion. The reformed translation is named as the instruction-coated translation, a term similar to sugar-coated tablet.

References

  1. R. S. Arnold, "Software restructuring," presented at Proceedings of the IEEE, pp. 607--617, April, 1989.Google ScholarGoogle Scholar
  2. W. P. Stevens, G. J. Myers, and L. L. Constantine, "Structured Design," IBM SYSTEMS JOURNAL, vol. 13, pp. 115--139, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. M. Bieman and K. Byung-Kyoo, "Measuring design-level cohesion," IEEE Transactions on Software Engineering, vol. 24, pp. 111--124, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Byung-Kyoo and J. M. Bieman, "Design-level cohesion measures: derivation, comparison, and applications," presented at 20th Computer Software and Applications Conference, Seoul, Korea, pp. 92--97, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. J. Chikofsky and J. H. Cross, "Reverse engineering and design recovery: a taxonomy," in IEEE Software, vol. 7, 1990, pp. 13--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W. C. Chu and S. Patel, "Software restructuring by enforcing localization and information hiding," presented at The Proceedings of the IEEE International Conference on Software Maintenance, Orlando, Florida, pp. 165--172, Nov. 1992.Google ScholarGoogle Scholar
  7. N. Gupta and P. Rao, "Program execution based module cohesion measurement," presented at 16th International Conference on Auto-mated on Software Engineering, San Diego, USA, pp. 144--153, Nov. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. E. Jacques, "Software restructuring: implementing a code abstraction transformation," in Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology. Port Elizabeth, South Africa: South African Institute for Computer Scientists and Information Technologists, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. S. Kim, I. S. Chung, and Y. R. Kwon, "Restructuring programs through program slicing," International Journal of Software Engineering and Knowledge Engineering, vol. 4, pp. 349--368, September, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  10. A. Lakhotia and J. C. Deprez, "Restructuring functions with low cohesion," presented at Sixth Working Conference on Reverse Engineering, Atlanta, Georgia, USA, pp. 36--46, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. B. Robert and G. G. William, "Supporting the restructuring of data abstractions through manipulation of a program visualization," ACM Trans. Softw. Eng. Methodol., vol. 7, pp. 109--157, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Siff and T. Reps, "Identifying modules via concept analysis," IEEE Transactions on Software Engineering, vol. 25, pp. 749--768, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Tonella, "Concept analysis for module restructuring," IEEE Transactions on Software Engineering, vol. 27, pp. 351--363, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. R. Bell, "Threaded Code," in Communications of the ACM, vol. 16: ACM Press, 1973, pp. 370--372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T.-W. Hou, F.-G. Chen, J. L. Lee, and Y. L. Chen, "Distributed and Parallel Execution of Java programs On a DSM System," presented at ACM/IEEE International Symposium on Cluster Computing and the Grid (CCGrid'01), Brisbane, Australia, pp. 555--559, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Lougher, "JamVM Web Pages," available at http://jamvm.sourceforge.net/Google ScholarGoogle Scholar
  17. E. G. a. L. Hendren, "SableVM: A Research Framework for the Efficient Execution of Java Bytecode," presented at Java Virtual Machine Research and Technology Symposium (JVM'01), Monterey, California, pp. 27--40, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Standard Performance Evaluation Corporation, "SPEC JVM98 Benchmarks Web Pages," available at http://www.spec.org/osg/jvm98/Google ScholarGoogle Scholar
  19. B.-K. Kang and J. M. Bieman, "Using Design Cohesion to Visualize, Quantify, and Restructure Software," in SEKE, 1996, pp. 222--229.Google ScholarGoogle Scholar
  20. L. Arun, "Rule-based approach to computing module cohesion," presented at Proceedings of the 15th international conference on Software Engineering, Baltimore, Maryland, United States, pp. 35--44, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Lakhotia and J.-C. Deprez, "Restructuring Programs By Tucking Statements Into Functions" Information and Software Technology, vol. 40, pp. 677--690, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  22. B.-K. Kang and J. M. Bieman, "Using Design Cohesion to Visualize, Quantify, and Restructure Software," presented at The 8th International Conference on Software Engineering and Knowledge Engineering, pp. 222--229, 1996.Google ScholarGoogle Scholar

Index Terms

  1. Instruction-coated translation: an approach to restructure directly threaded interpreters with low cohesion

      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

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!