تكوين البرنامج

إن تخليق (تكوين) البرنامج هو شكل خاص من أشكال البرمجة الأوتوماتيكية التي غالبا ما تقترن بتقنية للتحقق الرسمي.إن الهدف هو أن يتم أوتوماتيكيا إنشاء برنامج يفي بصورة مبرهنة بمواصفات معينة عالية المستوى. وعلى عكس غيرها من تقنيات البرمجة الأوتوماتيكية، فإنه عادة ما تكون المواصفات بيانات غير خوارزمية لحسابات منطقية مناسبة.Basin, D. and Deville, Y. and Flener, P. and Hamfelt, A. and Fischer Nilsson, J., "Synthesis of programs in computational logic", Program Development in Computational Logic. 2004. 

 المنشأ 
نشأت الفكرة في الستينيات بهدف استخدام تقنيات الذكاء الاصطناعي لبناء مبرمجا أوتوماتيكيا , باستغلال صلات عميقة بين الرياضيات ونظرية البرمجة. إن عدم النجاح المبكر يعني أن النهج الرياضي قد فقد حظوته سريعا جنبا إلى جنب مع الحماس لعموما.على الرغم من أن بعض الباحثين لا يزالون يبحثون باتباع نهج رسمية فإنه قد تم الحصول على المزيد من النجاح عن طريق الجمع بين تقنيات الاستنباط الخالص ذات الأساليب البحثية القوية والحد من تطبيقها على مجالات معينة.

 المشاكل والقيود 
يرى البعض أن مفهوم جيل البرنامج الآلي ينتج عنه في كثير من الأحيان سوءا في «عوملة» المعلومات. يقال إن التكرار المعروف يجب ألا يؤخذ في الاعتبار ولا يعرض.ومع ذلك فإن لغات برمجة معينة في بعض الأحيان تكون محدودة بحيث أنه على المرء أن يعرض تكرارا لمفهوم أو نمط من أجل الاستمرار في استخدام نفس اللغة. وفيما يلي التوضيح المبسط للعوملة:

 Poor Factoring:

 x = a + a + a + a + a

 Good Factoring:

 x = a * 5 (where the asterisk is "times")

إن جيل البرنامج يميل إلى التركيز على آلية التكرار الموضحة في المثال الأول، عندما ربما يجد نهج آخر تجريدا أعلى وهو في هذه الحالة الضرب. هناك أمثلة أخرى تشمل وضع المعايير في ملف أو قاعدة بيانات بدلا من التطبيق الداخلي للكود.

 المراجع 

تصنيف:أنماط برمجة