ABSTRACT
In this paper we introduce a backward simulation of machine code program and report results of reduction methods of its processing time. It may be efficient to analyze a program by tracing back from the final result for detecting all the bugs caused by some codes in the program. We describe the backward simulator of Java bytecode program and methods of processing time reduction such as range division, stepwise resolution improvement, setting of search path, and exponential range division. Results of two short programs and effects of reduction methods are shown.
- Akgul, T. and Mooney III, V. J., Instruction-level Reverse Execution for Debugging, Tech. Rep. GIT-CC-02-49, 2002.Google ScholarDigital Library
- Cadar, C. and Sen K., Symbolic Execution for Software Testing: Three Decades Later, Comm. ACM, vol.56, no.2, 82--90, 2013. Google ScholarDigital Library
- Cook, J. J., Reverse Execution of Java Bytecode, The Computer Journal, vol.45, no.6, 608--619, 2002.Google ScholarCross Ref
- Godefroid, P. et al., DART: Directed Automated Random Testing, Proc. PLDI'05, 213--223, 2005. Google ScholarDigital Library
- Hagar, J.D.,Wissink, T.L., Kuhn and D.R., Kacker, R.N., Introducing Combinatorial Testing in a Large Organization, Computer, vol.48, no.4, pp. 64--72, 2015.Google ScholarCross Ref
- Hiranaka Y. and Taketa T., Designing Backward Range Simulator for System Diagnoses, Proc. XX IMEKO World Congress, 2012.Google Scholar
- Hiranaka, Y., Sakaki, H., Ito, K., Taketa, T., and Miura S., Numerical Backward Simulation Model with Case Branching Capability, Proc. SIMULTECH 2014, pp.225--230, 2014. Google ScholarDigital Library
- Hiranaka Y., Miura S. and Taketa T., Hybrid Backward Simulator to Determine Causal State Changes, Proc. XXI IMEKO World Congress, pp.1187--1190, 2015.Google Scholar
- Inafune, T., Hiranaka, Y. and Taketa, T., Reverse Analysis of Java Programs, Proc. FIT2015, IPSJ, 1 227--228, 2015.Google Scholar
- Laguna, I, et al., Debugging High-Performance Computing Applications at Massive Scales, Comm. ACM, vol.58, no.9, pp. 72--81, 2015. Google ScholarDigital Library
- Lindholm, T. et al., The Java Virtual Machine Specification Java SE 8 Edition, Oracle America, 2015. Google ScholarDigital Library
- Roychoudhury, A. and Chandra, S., Formula-Based Software Debugging, Comm. ACM, vol.59, no.7, pp. 68--77, 2016 Google ScholarDigital Library
Recommendations
Symbolic backward simulation of Java bytecode program
ICCMS '18: Proceedings of the 10th International Conference on Computer Modeling and SimulationWe present a new method, symbolic backward simulation, for detecting bugs in Java bytecode programs. In order to find bugs comprehensively, the method determines conditions on the input side by tracing back from the tail of the program while performing ...
Java bytecode verification on Java cards
SAC '04: Proceedings of the 2004 ACM symposium on Applied computingA Java program is usually translated into an intermediate language, known as Java Virtual Machine Language (JVML), which is then executed by a Java Virtual Machine (JVM). Before its execution a JVML program is verified to prevent a wide range of run-...
Numerical Backward Simulation Model with Case Branching Capability
SIMULTECH 2014: Proceedings of the 4th International Conference on Simulation and Modeling Methodologies, Technologies and ApplicationsThe authors are studying backward simulator which traces from result to cause for comprehensive verification of system safety. Usually, it is not easy to make a backward simulation model because the forward model may not be expressed mathematically or ...
Comments