تصور کنید آیندهای را که هوش مصنوعی بهصورت آرام و بیصدا وظایف خستهکننده توسعه نرمافزار را بر عهده میگیرد: از جا به جایی سیستمهای قدیمی تا شناسایی خطاها و شرایط پیچیده، تا انسانها بتوانند بر طراحی و معماری تمرکز کنند. مقاله جدیدی از پژوهشگران آزمایشگاه علوم کامپیوتر و هوش مصنوعی MIT و همکارانش، چالشها و موانع کنونی این حوزه را بررسی کرده و مسیرهای تحقیقی برای پیشرفت را مشخص کرده است.

این مقاله با عنوان “چالشها و مسیرهای پیشرفت هوش مصنوعی در مهندسی نرمافزار” نقشهای از وظایف مختلف مهندسی نرمافزار، فراتر از تولید کد ارائه میدهد. هدف این است که انسانها بتوانند بر طراحیهای سطح بالا تمرکز کنند در حالی که کارهای روتین بهصورت خودکار انجام شود.
آرماندو سولار لزاما، استاد مهندسی برق و علوم کامپیوتر در MIT و نویسنده ارشد این مطالعه، میگوید: “پیشرفتهای چشمگیری در این زمینه حاصل شده است. ابزارهایی داریم که به مراتب قویتر از هر چیزی هستند که قبلاً دیدهایم. اما هنوز راه زیادی تا به دستیابی به وعده کامل خودکارسازی وجود دارد”.
مسائل مربوط به ارتقاء کد، مهاجرت سیستمهای قدیمی به زبانهای جدید، و رفع ایرادات همزمانی، بخش کوچکی از چالشهای موجود هستند. تحلیل و آزمایش مستمر برای کشف باگهای امنیتی و بهبود کیفیت کد ضروری است، ولی برای بهبود کیفیت کد و ماندگاری رفع باگها نیازمند ابزارهای متنوعی مانند تحلیلگرهای استاتیک و دیباگرها هستیم.

مشکلات دیگر شامل ارتباطهای نادرست و باریک بین انسان و ماشین است. الکس گو، دانشجوی مهندسی برق و علوم کامپیوتر در MIT، میگوید که روشهای کنونی برای تعامل بسیار محدود هستند. مثلاً وقتی از سیستم درخواست تولید کد میکند، فایلهای بزرگ و غیرسازمانی ارائه میشود که منجر به کدهایی میشود که ظاهراً درست است اما در اجرا به مشکلات میخورد.
اسکیل پروژهها نیز مشکلی دیگر است. مدلهای موجود در مواجهه با بزرگ بودن حجم کدها دچار مشکل میشوند، و به دلیل تفاوتهای بزرگ بین کدهای عمومی و کدهای اختصاصی شرکتها، کدهایی تولید میشوند که به نظر درست میآیند اما مشکلات متعددی دارند.
نتیجهگیری
این مقاله به صراحت اذعان میکند که برای رسیدن به آیندهای که در آن هوش مصنوعی بتواند بخش اعظم کارهای روتین نرمافزاری را بهصورت صحیح بر عهده بگیرد، نیازمند همکاریهای گسترده در سطح جامعه و تحقیقات باز هستیم. تنها از این طریق است که میتوان چالشهای موجود را پشت سر گذاشت و تجربهای راحتتر و مؤثرتر برای برنامهنویسان فراهم کرد.
پرسشهای متداول
هوش مصنوعی میتواند به خودکارسازی وظایف روتین مانند رفع خطاها و مهاجرت سیستمهای قدیمی کمک کند تا برنامهنویسان بتوانند بر طراحی و معماری تمرکز کنند.
ارتباط صحیح و گستردهتر بین انسان و ماشین به اطمینان از درست بودن کد تولید شده کمک میکند و خطرات استفاده از منطق نادرست را کاهش میدهد.
مدلهای کنونی در پردازش حجم زیادی از کد دچار مشکل میشوند و کدهایی که تولید میکنند گاهی با استانداردها و روشهای اختصاصی شرکتها سازگار نیست.


