reflection paper for structure of programming languages Solution In computer science, reflection has its own ability on a computer program to examine.It also introspect, and modify its own structure and behavior at runtime of the computer programm .this can be acheived by dynamically assigning program code at runtime. Java which is an object oriented language supports reflection and allows inspection of classes, interfaces, fields and methods at runtime without knowing the names of the interfaces, fields, methods at compile time. It also allows instantiation of new objects and invocation of methods. software testing also consists of reflection as one of its testing.reflection is one of the important stratagy in meta programming. Reflection has its own way into most of the programming languages in one form or another. By enabling the structure of a program and its abstract data types, structural reflection gives the program to reason about the very data it changes or transforms. Introspection is also a kind of structural reflection that mainly concentrates on howc to represent the runtime structure of a program without supporting it in other way. .