:Metadata is casually used to describe the controlling data used in software architectures that are more abstract or configurable. Most executable file formats include what may be termed "metadata" that specifies certain, usually configurable, behavioral [[run timeruntime (program lifecycle phase)|runtime]] characteristics. However, it is difficult if not impossible to precisely distinguish program "metadata" from general aspects of [[Von Neumann architecture|stored-program computing architecture]]; if the machine reads it and acts uponon it, it is a computational [[Instruction (computer science)|instruction]], and the prefix "meta" has little significance.
:In [[Java (programming language)|Java]], the [[ClassJava (file format)|class file]] format]] contains metadata used by the [[Java compiler]] and the [[Java virtual machine]] to [[dynamicDynamic linkinglinker|dynamically link]] [[classClass (computer scienceprogramming)|classes]] and to support [[reflectionreflective programming]] (computer sciencereflection)|reflection]]. The [[Java Platform, Standard Edition]] since J2SE 5.0 has included a [[metadata facility for Java|metadata facility]] to allow additional annotations that are used by [[development tool]]s.
:In [[MS-DOS]], the [[COM file]] format does ''not'' normally include metadata, while the [[EXE]] file and Windows [[Portable Executable|PE]] (PE) formats do. These metadata can include the company that published the program, the date the program was created, the version number, and more.
:In the [[.NET Framework]] framework executable format, extra metadata is included to allow [[Reflection (computerReflective science)programming|reflection]] at runtime.</ref>