AI-Specific Code Smells: From Specification to Detection

2509.20491v1 cs.SE, cs.AI 2025-09-26
Авторы:

Brahim Mahmoudi, Naouel Moha, Quentin Stievenert, Florent Avellaneda

Резюме на русском

## Контекст Развитие Искусственного Интеллекта (ИИ) вносит значительные изменения в процессы разработки и поддержки программного обеспечения. Однако новые возможности ИИ приносят также новые проблемы, которые существующие средства детектирования часто не могут обнаружить. Особое внимание уделяется AI-specific code smells — рекуррентным моделям в коде, которые могут свидетельствовать о глубинных проблемах, таких как невозможность воспроизведения результатов, чувствительность к незначительным изменениям, недостаточная общизна модели и др. Эти проблемы могут привести к серьезным проблемам в работе систем, но на них сейчас мало внимания уделяется. Для решения этой проблемы мы предлагаем SpecDetect4AI — инструмент, который позволяет удобно задавать и автоматически детектировать AI-specific code smells в больших AI-системах. ## Метод SpecDetect4AI основывается на комбинации языка Domain-Specific Language (DSL) для удобной записи правил и статического анализатора, который эти правила исполняет. DSL позволяет легко и гибко задавать конкретные AI-specific code smells, а статический анализатор анализирует код на их наличие. Мы определили 22 таких новых анализируемых моделей и протестировали SpecDetect4AI на огромном объеме данных — 826 AI-системах, составляющих вместе 20 миллионов строк кода. ## Результаты За счет своей подходящей архитектуры и детальной работы с правилами SpecDetect4AI показал высокую эффективность. Инструмент показал приемлимую точность (88.66%) и полноту выявления (88.89%), что значительно превосходит результаты других существующих инструментов. Это демонстрирует его полезность и достоверность в детектировании AI-specific code smells. Также были проведены исследования по удобству использования и четкости интерфейса, в результате чего SpecDetect4AI получил оценку SUS 81.7/100, что указывает на высокий уровень удобства и эффективности. ## Значимость Проблемы, выявляемые SpecDetect4AI, часто игнорируются в существующих системах, но они могут иметь значительное влияние на качество работы AI-систем. Инструмент предлагает новый подход к исправлению этой проблемы, позволяя разработчикам автоматизировать процесс детектирования и устранения этих проблем. SpecDetect4AI может быть применен в различных областях, где ИИ используется — от текстовых моделей до обработки изображений и технологий машинного обучения. Его высокая точность и эффективность делают его ценным инструментом для обеспечения качества AI-систем. ## Выводы SpecDetect4AI демонстрирует эффективность в спецификации и детектировании AI-specific code smells, оказавшись значительно эффективнее существующих решений. Мы призываем разработчиков включить SpecDetect4AI в свои процессы разра

Abstract

The rise of Artificial Intelligence (AI) is reshaping how software systems are developed and maintained. However, AI-based systems give rise to new software issues that existing detection tools often miss. Among these, we focus on AI-specific code smells, recurring patterns in the code that may indicate deeper problems such as unreproducibility, silent failures, or poor model generalization. We introduce SpecDetect4AI, a tool-based approach for the specification and detection of these code smells at scale. This approach combines a high-level declarative Domain-Specific Language (DSL) for rule specification with an extensible static analysis tool that interprets and detects these rules for AI-based systems. We specified 22 AI-specific code smells and evaluated SpecDetect4AI on 826 AI-based systems (20M lines of code), achieving a precision of 88.66% and a recall of 88.89%, outperforming other existing detection tools. Our results show that SpecDetect4AI supports the specification and detection of AI-specific code smells through dedicated rules and can effectively analyze large AI-based systems, demonstrating both efficiency and extensibility (SUS 81.7/100).

Ссылки и действия