ಜಾವಾ ವಿನ್ಯಾಸದ ರಚನಾಕಾರರು ವಿನಾಯಿತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿದರು, ಅವುಗಳು ಒಂದು ವಿಶಿಷ್ಟವಾದ ಗುಂಪಿನ ವಿನಾಯಿತಿಗಳಾಗಿದ್ದವು. ಪರಿಶಿಲಿಸಲ್ಪಟ್ಟ ವಿನಾಯಿತಿಗಳು ಒಂದು ವಿಧಾನವನ್ನು ವಿಧಾನದ ವೈಶಿಷ್ಟ್ಯದ ಒಂದು ಭಾಗವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ವಿಧಾನವು ಒಂದು codice_14 ಅನ್ನು ಬಳಸಿದರೆ, ಇದು ತನ್ನ ವಿಧಾನದ ಚಿಹ್ನೆಯಲ್ಲಿ ಇದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಪ್ರಕಟಿಸಬೇಕು. ಇದನ್ನು ಮಾಡಲು ವಿಫಲವಾದಲ್ಲಿ ಇದು ಕಂಪೈಲ್-ಟೈಮ್ ದೋಷವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
ಇದು ಕನಿಷ್ಠ ಪಕ್ಷ OCaml ಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿನಾಯಿತಿ ಪರಿಶೀಲಕರಿಗೆ ಸಂಬಂಧಿತವಾಗಿದೆ. OCaml ಗೆ ಬಾಹಿಕ ಸಾಧನವು ಪಾರದರ್ಷಕ (ಅಂದರೆ ಇದು ಯಾವುದೇ ಸಂಕೇತದ ಟಿಪ್ಪಣಿಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ) ಮತ್ತು ಅನುಜ್ಞಾತ್ಮಕ (ಅಂದರೆ ಇದು ಉತ್ಪಾದನಾ ಸಂಕೇತದಲ್ಲಿ ಸೂಚಿಸಲ್ಪಟ್ಟಿರದಿದ್ದರೂ ಕೂಡ ಪರಿಶೀಲಿಸಿದ ವಿನಾಯಿತಿಗಳನ್ನು ಹೊಂದಿಲ್ಲದೇ ಒಂದು ಪ್ರೋಗ್ರಾಮನ್ನು ಸಂಕಲಿಸಲು ಮತ್ತು ನಡೆಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ) ಎರಡೂ ಸಾಧನಗಳನ್ನು ಬಳಸಲ್ಪಡುತ್ತದೆ.
CLU ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ ಲಾಂಗ್ವೇಜ್‌ ಇದು ಜಾವಾ ಲಾಂಗ್ವೇಜ್‌ ನಂತರದಲ್ಲಿ ಪರಿಚಯಿಸಿದಂತಹ ಇಂಟರ್‌ಫೇಸ್‌ಗೆ ಹತ್ತಿರವಾದ ಲಕ್ಷಣವನ್ನು ಹೊಂದಿದೆ. ಒಂದು ಫಂಕ್ಷನ್‌ ತನ್ನ ವಿಧಗಳಲ್ಲಿ ನಮೂದಿಸಲ್ಪಟ ವಿನಾಯಿತಿಗಳನ್ನು ಮಾತ್ರ ಬೆಳೆಸಬಹುದು, ಆದರೆ ಕರೆಯಲ್ಪಟ್ಟ ಫಂಕ್ಷನ್‌ಗಳ ಯಾವುದೇ ಸೋರಲ್ಪಡುವ ವಿನಾಯಿತಿಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಏಕೈಕ ರನ್-ಟೈಮ್ ವಿನಯಿತಿಯಾಗಿ ಬದಲಾಗಲ್ಪಡುತ್ತದೆ, codice_15, ಬದಲಾಗಿ ಕಂಪೈಲ್-ಟೈಮ್ ದೋಷವಾಗಿ ಬದಲಾಗಲ್ಪಡುತ್ತದೆ. ನಂತರದಲ್ಲಿ, Modula-3 ಸದೃಶವಾದ ಲಕ್ಷಣವನ್ನು ಹೊಂದಿದೆ. ಈ ಲಕ್ಷಣಗಳು ಕಂಪೈಲ್ ಟೈಮ್ ಪರಿಶೀಲನೆಯನ್ನು ಒಳಗೊಳ್ಳುತ್ತವೆ, ಅದು ಪರಿಶೀಲಿಸಲ್ಪಟ್ಟ ವಿನಾಯಿತಿಗಳ ವಿಷಯದಲ್ಲಿ ಕೇಂದ್ರವಾಗಿರುತ್ತದೆ, ಮತ್ತು (2006 ರ ವರೆಗೆ) ಜಾವಾ ಲಾಂಗ್ವೇಜ್‌ ಅನ್ನು ಹೊರತುಪಡಿಸಿ ಇತರ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ ಲಾಂಗ್ವೇಜ್‌‌ಗಳಲ್ಲಿ ಸೇರಿಸಿಕೊಳ್ಳಲ್ಪಟ್ಟಿಲ್ಲ.
C++ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ ಲಾಂಗ್ವೇಜ್‌ ಪರಿಶಿಲಿಸಲ್ಪಟ್ಟ ವಿನಾಯಿತಿಗಳಿಗೆ ಒಂದು ಐಚ್ಛಿಕ ಯಾಂತ್ರಿಕ ರಚನೆಯನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಅದನ್ನು "ವಿನಾಯಿತಿ ನಿರ್ದಿಷ್ಟತೆ" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಯಾವುದೇ ಫಂಕ್ಷನ್‌ ಯಾವುದೇ ವಿನಾಯಿತಿಯನ್ನು ಬಳಸಬಹುದು, ಆದರೆ ಇದು ಫಂಕ್ಷನ್‌ ಚಿಹ್ನೆಗೆ ಸೇರಿಸಲ್ಪಟ್ಟ ಒಂದು codice_16 ಷರತ್ತಿನಿಂದ ನಿರ್ಬಂಧಿಸಲ್ಪಡಬಹುದು, ಅದು ಯಾವ ವಿನಾಯಿತಿಗಳನ್ನು ಫಂಕ್ಷನ್‌ ಬಳಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ದೇಶಿಸುತ್ತದೆ. ಎಕ್ಸೆಪ್ಶನ್‌ ನಿಗದಿಪಡಿಸುವಿಕೆಗಳು ಕಂಪೈಲ್-ಟೈಮ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲ್ಪಡುವುದಿಲ್ಲ. ಮುರಿಯುವಿಕೆಯು codice_17 ಕರೆಯಲ್ಪಡುವ ಜಾಗತಿಕ ಫಂಕ್ಷನ್‌‌ನಲ್ಲಿ ನಿರ್ವಹಿಸಲ್ಪಡುತ್ತದೆ. ಒಂದು ಖಾಲಿಯಾದ ವಿನಾಯಿತಿ ನಿಗದಿಪಡಿಸುವಿಕೆಯು ನೀಡಲ್ಪಡಬಹುದು, ಅದು ಒಂದು ಫಂಕ್ಷನ್‌ ಯಾವುದೇ ವಿನಾಯಿತಿಯನ್ನು ಬಳಸುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ತಿಳಿಸುತ್ತದೆ. ಯಾವಾಗ ವಿನಾಯಿತಿ ನಿರ್ವಹಣೆಯು ಲಾಂಗ್ವೇಜ್‌‌ಗೆ ಸೇರಿಸಲ್ಪಟ್ಟಿರುತ್ತದೆಯೋ ಆಗ ಇದು ಡಿಫಾಲ್ಟ್ ಆಗಿರಲ್ಪಡುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಇದು ತುಂಬಾ ಹೆಚ್ಚಿನದಾದ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಕೇತದ ಬದಲಾವಣೆಯನ್ನು ಬಯಸುತ್ತದೆ, ಇತರ ಲಾಂಗ್ವೇಜ್‌‌ಗಳಲ್ಲಿ ಬರೆಯಲ್ಪಟ್ಟ ಸಂಕೇತದ ಜೊತೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಅಡ್ಡಿಮಾಡುತ್ತದೆ, ಮತ್ತು ಸ್ಥಳೀಯ ಹಂತದಲ್ಲಿ ತುಂಬಾ ಹೆಚ್ಚು ನಿರ್ವಾಹಕರನ್ನು ಬರೆಯಲು ಪ್ರೋಗ್ರಾಮರ್‌ಗಳನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ. ಖಾಲಿಯಾದ ವಿನಾಯಿತಿಯ ಬಹಿರಂಗ ನಿಗದಿಪಡಿಸುವಿಕೆಗಳ ಬಳಕೆಗಳು, ಅದಾಗ್ಯೂ, ಕಂಪೈಲರ್‌ಗಳನ್ನು ವಿಶಿಷ್ಟವಾದ ಸಂಕೇತಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಯಾವಾಗ ಒಂದು ಫಂಕ್ಷನ್‌‌ನಲ್ಲಿ ವಿನಾಯಿತಿ ನಿರ್ವಹಣೆಯು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ಬಂಧಿಸಲ್ಪಡುತ್ತದೆಯೋ ಅದು ಲೇಔಟ್ ಗರಿಷ್ಠಗೊಳಿಸುವಿಕೆಯನ್ನು ಸುವ್ಯವಸ್ಥಿತವಾಗಿಸಲು ನಡೆಸಲ್ಪಡುತ್ತದೆ. ಕೆಲವು ವಿಶ್ಲೇಷಕರು C++ ನಲ್ಲಿ ವಿನಾಯಿತಿ ನಿಗದಿಪಡಿಸುವಿಕೆಯ ಸರಿಯಾದ ಬಳಕೆಯನ್ನು ಸಾಧಿಸಲು ಕಷ್ಟಕರವಾದುದು ಎಂಬಂತೆ ನೋಡುತ್ತಾರೆ. ಮುಂದೆ ಬರಬಹುದಾದ C++ ಲಾಂಗ್ವೇಜ್‌ ಮಾನದಂಡಗಳಲ್ಲಿ (C++0x), ವಿನಾಯಿತಿ ನಿಗದಿಪಡಿಸುವಿಕೆಯ ಬಳಕೆಯು ಮಾನದಂಡ (C++03) ನ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಯಲ್ಲಿ ನಿರ್ದೇಶಿಸಲ್ಪಟ್ಟಂತೆ ಅಸಮ್ಮತಿ ತೋರಲ್ಪಡುತ್ತದೆ. 
ಕಂಡಿಷನ್ ಸಿಸ್ಟಮ್ಸ್
ಪರಿಶೀಲಸಲ್ಪಟ್ಟ ವಿನಾಯಿತಿಗಳು
ವಿನಾಯಿತಿ‌ ಸಮನ್ವಯತೆ
ಮುಂದುವರೆಯುವ ವಿನಾಯಿತಿಗಳು