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