شماره ركورد كنفرانس :
5183
عنوان مقاله :
بازسازي خودكار كد منبع نرمافزار براي رفع ضدالگوهاي زبانشناختي
عنوان به زبان ديگر :
Automatic Refactoring of Software Source Code to Eliminate Linguistic Antipatterns
پديدآورندگان :
شهيدي نشرودكلي محمدامين دانشگاه علم و صنعت ايران , آشتياني مهرداد دانشگاه علم و صنعت ايران
كليدواژه :
ضدالگو , ضدالگوي زبانشناختي , بازسازي كد , بازسازي خودكار كد , كد تميز
عنوان كنفرانس :
هشتمين كنفرانس بين المللي وب پژوهي
چكيده فارسي :
امروزه با توجه به نقش مهمي كه نرمافزار در زندگي ما دارد، بدون استفاده از نرمافزار نميتوانيم بسياري از خدماتي كه به آنها عادت كردهايم را دريافت كنيم. كيفيت اين خدمات به كيفيت نرمافزاري كه آنها را پيادهسازي ميكند وابسته است. معيارهاي فراواني براي سنجش كيفيت يك نرمافزار وجود دارد كه هركدام از جهتي به سنجش كيفيت نرمافزار ميپردازد. وجود يا عدم وجود ضدالگوها ميتواند معياري براي سنجش كيفيت نرمافزار باشد. برخي ضدالگوهاي شناختهشده با توجه به تأثيرشان بر روي كارايي، اطمينانپذيري و ساير معيارهاي مرتبط مطالعه ميشوند. يكي از اين معيارها خوانايي كد منبع نرمافزار است. سازندگان يك برنامه لزوماً تنها كساني نيستند كه به توسعه آن ميپردازند، بدين جهت رعايت نكاتي كه فهميدن چگونگي كاركرد برنامه را براي توسعهدهندگان احتمالي سادهتر ميكند ضروري است. اين مقاله، به بررسي ضدالگوهاي زبانشناختي مرتبط با نامگذاري توابع و ارائهي راهحل براي رفع خودكار آنها ميپردازد. به ضدالگوهايي كه مربوط به نامگذاري اعضاي كد منبع نرمافزار هستند ضدالگوهاي زبانشناختي گفته ميشود. در اين مقاله روشي براي تشخيص و رفع خودكار اين ضدالگوها به كمك درخت نحو انتزاعي ارائه ميشود. سپس روش ارائهشده بر روي كد منبع چند نرمافزار متنباز آزمايش ميشود.
چكيده لاتين :
Nowadays, due to the important role of software systems in our lives, without the use of software, we will not be able to get most of the services we are used to. The quality of these services depends on the quality of the software that implements them. There are many criteria for measuring the quality of a software. The presence or absence of antipatterns can be a measure of software quality. Some well-known Antipatterns are studied according to their effect on performance, reliability and other related criteria. One of these criteria is the readability of the software source code. Developers of a program are not necessarily the only ones developing it in the future, so it is important to follow tips that make it easier for potential developers to understand how the program works. This article examines the linguistic antipatterns associated with naming functions and provides solutions for their automatic resolution. Antipatterns that are related to the naming of members of the software source code are called linguistic antipatterns. This paper presents a method for automatic detection and elimination of these antipatterns using abstract syntax tree. The proposed method is then tested on the source code of several open source softwares.