যখন oe কাজ শেষ করে তখন কমান্ড ইন্টারপ্রেটার এক্সিকিউট করার জন্য নতুন একটি কমান্ড পায়
নতুন কমান্ডটি স্ক্রিপ্ট ডিরেক্টরিতে soee নামে ছিল
যখন এই কমান্ডটি কাজ শেষ করে তখন ইন্টারপ্রেটার আবার স্ক্রিপ্ট ফাইলের শুরুতে চলে যায় এবং পুনরায় oe অপশনটি পরবর্তী কাজের জন্য তৈরি হয়
এখন স্ক্রিনে আসা মেন্যুটি চলে যাবে এবং ফাইলটি তার পূর্বাবস্থায় ফিরে যাবে
যদিও ফাইলটি তার পূর্বাবস্থায় ফিরে যাওয়াতে কোন কাজ হবেনা কিন্তু ডিওএস কমান্ড ইন্টারপ্রেটার যেহেতু বাইট পজিশন দ্বারা পরবর্তী কমান্ডের কাজ শুরু করে সেহেতু ফাইলটি শ্রেণীবন্ধভাবে বিন্যস্ত হয়ে থাকা লাগে
এর ফলে সহজেই ইন্টারপ্রেটারটি পরবর্তী কমান্ডের কাজ শুরু করতে পারবে
যখন অন্য কমান্ডগুলো কাজ শুরু করে তখন oeee সিস্টেমটি মেমরিতে থাকেনা
এতে অনেক মেমরি বেঁচে যায়
অর্থাৎ বলা যায় একটি মেন্যু সিস্টেমএবং সাথে আরও সম্ভাব্য সাহায্যকারী ফিচার থাকার সুবিধার পাশাপাশি যদি ব্যবহারকারীর মেমরির সাইজ কম থাকে তাহলে এই পদ্ধতিটি অনেক উপকারীও বটে
কন্ট্রোল টেবিল ইন্টারপ্রেটার বলতে বুঝায় যেটি নিজে নিজে টেবিল থেকে তথ্য নিয়ে কাজ করতে পারে
বরং বিশেষভাবে বলা যায় শর্তযুক্ত নির্দেশ যেমন এর মত নয়
সালের জানুয়ারীতে প্রকাশিত হওয়া আইবিএম এসএসইসি কম্পিউটারটির নিজে নিজে এর নির্দেশনাবলী নিয়ে কাজ করতে সমর্থ্য ছিল
এছাড়া এটি এর নির্দেশনাবলীকে তথ্য হিসেবেও ব্যবহার করতে পারতো
যাইহোক এই সামর্থ্যটি বাস্তবে খুব কমই ব্যবহার করা হয়েছিল
স্বপরিবর্তনকারী কোড আবিষ্কার হওয়ার প্রথম দিকে এটি প্রায়ই কম মেমরির ব্যবহার এবং কোড যাতে দ্রুত কাজ করে সেই উদ্দেশ্যে কিংবা উভয় উদ্দেশ্যে ব্যবহার করা হত
এছাড়াও সাবরুটিন নিয়ে কাজ করতে এবং যখন নির্দেশনাবলীতে কোডের কোন সাধারণ শাখা বা বাদ দেয়ার মত কোন কোড থাকতো তখনও স্বপরিবর্তনকারী কোড ব্যাপকভাবে ব্যবহার করা হত
এই ব্যবহারটি এখনও অন্তত তত্ত্বগতভাবে হলেও আলট্রাআরআইএসসি আর্কিটেকচারে ব্যবহৃত হচ্ছে
ডোনাল্ড কানুথের এমআইএক্স কম্পিউটারেও সাবরুটিন নিয়ে কাজ করার জন্য স্বপরিবর্তনকারী কোড ব্যবহার করা হয়
স্বপরিবর্তনকারী কোড বিভিন্ন উদ্দেশ্যে ব্যবহার করা যেতে পারে
যেমনঃ স্টেটনির্ভরশীল লুপ অপ্টিমাইজের একটি জেনারেল ফর্ম নিচে দেয়া হল এইক্ষেত্রে স্বপরিবর্তনকারী কোড করার জন্য নিচের মত করে লুপটিকে একটু পরিবর্তন করে লিখলেই সমস্যাটির সমাধান হয়ে যায় এখানে উল্লেখ্য যে উপরের কোডে অপকোডের প্রতিস্থাপনটি এভাবে সহজে লিখা যায় এক্সওআর ভ্যারিয়েবল অ্যাড্রেস হবে অপকোড অফআইএনসি এক্সওআর অপকোড অফডেসিমাল
এই সমাধানটি ব্যবহার করা হবে কিনা সেটি এন এর মান এবং ফ্রিকুয়েন্সির পরিবর্তনের উপর নির্ভর করে
মনে করুন পরিসংখ্যানের একটি সেট অনেক বেশি তথ্য উপাত্ত দিয়ে হিসাব করা হবে
যেখানে গড় এক্সট্রিমা এক্সট্রিমার অবস্থান স্ট্যানডার্ড ডেভিয়েশন ইত্যাদি থাকবে
সাধারণ অবস্থায় সেখানে ডেটা এবং ওয়েট যুক্ত করার অপশন থাকবে
সুতরাং প্রতিটি এর সাথে যুক্ত হবে এবং প্রতিটি ইনডেক্সে ওয়েট থাকলে সেখানে হিসাবটি দুটি নিয়মে হতে পারে
একটি নিয়ম হচ্ছে ওয়েট ব্যবহার করে এবং অপরটি হচ্ছে ওয়েট ব্যবহার ছাড়া
এখন আরও একটি নিয়ম বিবেচনা করা যাক ইনডেক্সের প্রতিটি মানই একটি সম্ভাব্য বুলিয়ান মানের সাথে যুক্ত আছে যাতে করে সেটা নিশ্চিত করা যায় যে মানটি নিয়ে কাজ করা হবে নাকি হবে না
এই কোডটি চারটি ব্যাচে নিয়ন্ত্রণ করা যায় এর একটি হচ্ছে উত্পাদক দ্বারা কোডটির ফলাফল বের করা এবং এই পদ্ধতিতে কোডের আকার বৃদ্ধি পাবে
অথবা আরও একটি উপায় হল যে অ্যারেগুলো এড়িয়ে যাওয়া হয়েছিল সেগুলো এবং তাদের ওয়েট একত্রে যুক্ত করে একটি সাময়িক অ্যারেতে রাখা
এখানেও কোড কাজ করার সময় কোডের আকার বৃদ্ধি পাবে
যাইহোক এভাবে কোড সামান্য পরিবর্তন করে পরিসংখ্যানের হিসাব করা হলে সেখানে অপ্রয়োজনীয় মানগুলো আর থাকবে না এবং কোডও সম্পুর্ন সঠিক হবে
এখানে কোন মান দ্বিতীয়বার যাচাই করা হবে না এবং ডেটা অ্যারে কেবলমাত্র একবারই চেক করা হবে
সালে অ্যাপল এবং আইবিএম পিসিতে ডিস্কের উপর ভিত্তি করে বানানো প্রোগ্রামগুলোতে কোড যাতে কেউ নকল করতে না পারে সেজন্য স্বপরিবর্তনকারী কোড ব্যবহার করা হত
উদাহরণস্বরূপ একটি আইবিএম পিসিতে থাকা ফ্লপি ডিস্কে নামক কোড থাকতো যেটি প্রোগ্রামের তালিকায় দেখাতো না
কিন্তু এই কোডটি মেমরিতে থাকতো এবং স্বনিয়ন্ত্রিত ভাবে এই প্রোগ্রামটি কাজ করা শুরু করত
কিছু কিছু প্রোগ্রাম যেখানে প্রোগ্রামার কোডের উপস্থিতি লুকিয়ে রাখতে চাইতো সেখানে স্বপরিবর্তনকারী কোড ব্যবহার করা হত
যেমন কম্পিউটার ভাইরাস এবং কিছু হ্যাকিং এর জন্য ব্যবহৃত শেলকোড ইত্যাদি
ভাইরাস এবং এই শেলকোড যেগুলো স্বপরিবর্তনকারী কোড ব্যবহার করে সেগুলো সাধারণত পলিমরফিক কোড ব্যবহার করে লুকায়িত কোডটি আসল কোডের সাথে যুক্ত করা হয়
একটি কোড কাজ করার সময় কোডে পরিবর্তন করে সেই কোড কম্পিউটার হ্যাকিং করার জন্য ব্যবহার করা যায়
বাফার ওভারফ্লো হচ্ছে এর একটি উৎকৃষ্ট উদাহরণ
গতানুগতিক মেশিন লার্নিং সিস্টেমে সাধারণত একটি নির্দিষ্ট এবং পূর্বে প্রোগ্রাম করা অ্যালগরিদম ব্যবহার করা হয়
অতঃপর সালে জর্জেন স্কিম্বার বেশ কয়েকটি স্বপরিবর্তনকারী কোডের নিয়ম আবিষ্কার করেন যেগুলো নিজে নিজেই তাদের নিজস্ব অ্যালগরিদমে পরিবর্তন ঘটাতে পারতো
এমনকি এটি কোডের জন্য বিপদজনক যেকোনো কোডের ব্যাপারে সতর্ক ছিল এবং যেকোনো প্রকার বিপদজনক কোড সহজেই মুছে ফেলতে পারতো
কোডের এই স্বপরিমার্জন এই বিষয়টি নিশ্চিত করে যে ব্যবহারকারী যদি সঠিকভাবে ফিটনেস এরর অথবা রিওয়ার্ড ফাংশন ব্যবহার করে কেবলমাত্র তাহলেই কোডে স্বপরিমার্জন ঘটবে
যেহেতু কোডে স্বপরিমার্জনের ফলে কম্পিউটারের নিরাপত্তা বিঘ্নিত হওয়ার সম্ভাবনা থাকে সুতরাং প্রায় সকল অপারেটিং সিস্টেমেই স্বপরিবর্তনকারী কোড পাওয়ামাত্রই সেটি মুছে দেয়
কোডটির নিজে থেকে স্বপরিমার্জন বৈশিষ্ট্য থাকার জন্য নয় বরং এই কোডটি কম্পিউটারের ক্ষতি করার সম্ভাবনা থাকে বলেই অপারেটিং সিস্টেম কোডটি মুছে দেয়
এর ফলে কম্পিউটারে অনেক সমস্যা হতে পারে
সুতরাং এই সমস্যাটি সমাধান করার জন্য অপারেটিং সিস্টেমগুলো নতুন একটি ফিচার তৈরি করে
এর নাম দেয়া হয় রাইট এক্সওআর এক্সিকিউট করার জন্য
এটি মূলত ঐ সকল প্রোগ্রামগুলোকে কাজ করতে বাধা দেয় যেগুলো স্বপরিবর্তনকারী কোড ব্যবহার করার সময় কোডে কোনরূপ পরিবর্তন করে
কোন প্রোগ্রামে যদি কোড পরিবর্তনের ব্যাপারটি নিষেধ না থাকে তাহলেই কিছু কিছু অপারেটিং সিস্টেম সরাসরি ঐ প্রোগ্রামটি এক্সিকিউট করতে বাধা দেয়
অন্যান্য অপারেটিং সিস্টেমগুলোতে ব্যাক ডোর নামক অপশন থাকে যার মাধ্যমে বিভিন্ন প্রোগ্রামে দেওয়া পারমিশন সম্পর্কে সিস্টেম অবহিত থাকে
এই ফিচারটি এড়িয়ে যাওয়ার সবচেয়ে সহজ উপায় হল সকল পারমিশন দিয়ে একটি ফাইল তৈরি করা এবং তারপর সেটি মেমরিতে দুইবার রাখা
লিনাক্সে এটি ছাড়াও কেউ ইচ্ছা করলে একটি অনথিভুক্ত সিসভি মেমোরি ফ্ল্যাগ তৈরি করেও এই ফিচারটি সহজে এড়িয়ে যাওয়া যায়
এই পদ্ধতিটি ব্যবহার করলে নতুন কোন ফাইল তৈরী করতে হয়না
এছাড়াও কম্পিউটার পলিমরফিজম ব্যবহার করে প্রোগ্রামের সর্বত্র ব্যবহার করা নিজস্ব ডেটা পরিবর্তন করেও প্রোগ্রামের কর্মপদ্ধতি নিজে নিজেই পরিবর্তন করতে পারে
আর্কিটেকচারে ডেটা এবং নির্দেশ মিলিত হয়ে ক্যাশে জমা হয় এবং এই মিথষ্ক্রিয়া করার জন্য ক্যাশ সিঙ্ক্রোনাইজেশন অবশ্যই পরিবর্তিত কোড দ্বারা সঞ্চালিত করতে হবে
আধুনিক প্রসেসরে কিছু কিছু ক্ষেত্রে স্বপরিবর্তনশীল কোড খুব ধীরে কাজ করে
এর কারণ হল আধুনিক প্রসেসর সাধারণত তার ক্যাশ মেমরিতে এক্সিকিউট হওয়া কোডগুলো রাখার চেষ্টা করে
প্রতিবার প্রোগ্রাম যখন এর একটি অংশ একটু পরিবর্তন করে তখন পুনর্লিখিত অংশ আবার ক্যাশের মধ্যে লোড করার দরকার হয়
যদি পরিবর্তীত কোড এবং পূর্বের কোড একই ক্যাশ মেমরি ব্যবহার করে তাহলে ফলাফল আসতে সামান্য বিলম্ব হয়
কারণ এখানে পরিবর্তীত কোডটির মেমরি অ্যাড্রেস পূর্বের কোডের অ্যাড্রেসের কয়েক বাইটের মধ্যেই অবস্থান করে
আধুনিক প্রসেসরের ক্যাশ বিষয়ক এই সমস্যাটি তখনই সমাধান হবে যখন স্বপরিবর্তনশীল কোডগুলো তাদের কোড খুব কম সময় পরিবর্তন করে
যেমন ইনার লুপের ভিতরে যেভাবে লুপ পরিবর্তন হয় সেভাবে
অধিকাংশ আধুনিক প্রসেসরই কোন একটি প্রোগ্রাম এক্সিকিউট করার আগেই ঐ প্রোগ্রামটির সম্পূর্ন মেশিন কোড মেমরিতে লোড করে নেয়
এর মানে যদি একটি কোড পূর্বের কোডের চেয়ে খুব কম পরিমাণে পরিবর্তন করা হয় তাহলে প্রসেসর সেটি লক্ষ্য করবে না
কম্পিউটারের প্রসেসরগুলো অবশ্যই সঠিকভাবে স্বপরিবর্তনশীল কোড নিয়ন্ত্রণ করতে হবে কিন্তু তারা এখনো সেটি করতে পারছে না
ডক্টর অ্যালেক্সিয়া ম্যাসালিনের পিএইচডি থিসিসে তিনি সংশ্লেষণ কার্নেলের ব্যাপারে গবেষণা করেন
তিনি একটি ক্ষুদ্র ইউনিক্স কার্নেল ব্যবহার করে একটি স্বপরিবর্তনশীল কোড তৈরি করেন
এটি স্ট্রাকচার্ড প্রোগ্রামিং ভাষা এবং অবজেক্ট ওরিয়েন্টেড উভয় ভাষাতেই করা যায়
তার এই কোডটি সহজেই বিভিন্ন অবজেক্ট তৈরি করতে পারতো যেমন ফাইল হ্যান্ডেলার
এই সংশ্লেষণ কার্নেলটি অত্যন্ত দ্রুতগতির ছিল কিন্তু এটি সম্পূর্ণরূপে অ্যাসেম্বলি ভাষায় লেখা হয়েছিল
ফলে এটি আর অন্য কোন ভাষায় অপটিমাইজ করতে না পারায় এটি তেমন জনপ্রিয় হয়নি
যাইহোক এটি একটি বিষয় প্রমাণ করেছিল যে স্বপরিবর্তনশীল কোড যেকোনো মধ্য স্তর কিংবা উচ্চ স্তরের প্রোগ্রামিং ভাষায় লিখা সম্ভব
এতে করে আরও সহজেই খুব দ্রুতগতির বিভিন্ন অপারেটিং সিস্টেম অথবা প্রোগ্রাম তৈরি করা যাবে
পল হাবার্লি এবং ব্রুস কার্শ স্বপরিবর্তনশীল কোডের প্রান্তিকীকরণের বিরোধিতা করেন
তাদের মতে এতে করে বিভিন্ন অপারেটিং সিস্টেম অথবা প্রোগ্রাম তৈরিতে খরচের পরিমান বৃদ্ধি পাবে