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.
- R. S. Arnold, "Software restructuring," presented at Proceedings of the IEEE, pp. 607--617, April, 1989.Google Scholar
- W. P. Stevens, G. J. Myers, and L. L. Constantine, "Structured Design," IBM SYSTEMS JOURNAL, vol. 13, pp. 115--139, 1974.Google Scholar
Digital Library
- J. M. Bieman and K. Byung-Kyoo, "Measuring design-level cohesion," IEEE Transactions on Software Engineering, vol. 24, pp. 111--124, 1998. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- E. J. Chikofsky and J. H. Cross, "Reverse engineering and design recovery: a taxonomy," in IEEE Software, vol. 7, 1990, pp. 13--17. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- M. Siff and T. Reps, "Identifying modules via concept analysis," IEEE Transactions on Software Engineering, vol. 25, pp. 749--768, 1999. Google Scholar
Digital Library
- P. Tonella, "Concept analysis for module restructuring," IEEE Transactions on Software Engineering, vol. 27, pp. 351--363, 2001. Google Scholar
Digital Library
- J. R. Bell, "Threaded Code," in Communications of the ACM, vol. 16: ACM Press, 1973, pp. 370--372. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- R. Lougher, "JamVM Web Pages," available at http://jamvm.sourceforge.net/Google Scholar
- 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 Scholar
Digital Library
- Standard Performance Evaluation Corporation, "SPEC JVM98 Benchmarks Web Pages," available at http://www.spec.org/osg/jvm98/Google Scholar
- B.-K. Kang and J. M. Bieman, "Using Design Cohesion to Visualize, Quantify, and Restructure Software," in SEKE, 1996, pp. 222--229.Google Scholar
- 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 Scholar
Digital Library
- A. Lakhotia and J.-C. Deprez, "Restructuring Programs By Tucking Statements Into Functions" Information and Software Technology, vol. 40, pp. 677--690, 1998.Google Scholar
Cross Ref
- 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 Scholar
Index Terms
Instruction-coated translation: an approach to restructure directly threaded interpreters with low cohesion
Recommendations
Divide and translate: improving long distance reordering in statistical machine translation
WMT '10: Proceedings of the Joint Fifth Workshop on Statistical Machine Translation and MetricsMATRThis paper proposes a novel method for long distance, clause-level reordering in statistical machine translation (SMT). The proposed method separately translates clauses in the source sentence and reconstructs the target sentence using the clause ...
Automatic custom instruction identification for application-specific instruction set processors
The application-specific instruction set processors (ASIPs) have received more and more attention in recent years. ASIPs make trade-offs between flexibility and performance by extending the base instruction set of a general-purpose processor with custom ...
An evaluation of speculative instruction execution on simultaneous multithreaded processors
Modern superscalar processors rely heavily on speculative execution for performance. For example, our measurements show that on a 6-issue superscalar, 93% of committed instructions for SPECINT95 are speculative. Without speculation, processor resources ...






Comments