کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
4956329 1444517 2017 13 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
A search engine for finding and reusing architecturally significant code
ترجمه فارسی عنوان
یک موتور جستجو برای پیدا کردن و استفاده مجدد از کد معماری قابل توجه است
کلمات کلیدی
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر شبکه های کامپیوتری و ارتباطات
چکیده انگلیسی


- A code search engine to automate the discovery, extraction and indexing of tactics.
- A big data compatible architecture to search through 22 million source files.
- Novel techniques to detect tactics and technical context in which they are used.
- Introducing a novel ranking algorithm to order the retrieved tactical files.
- Enhancing the state-of-the-art code search engines in finding tactical-code.

Architectural tactics are the building blocks of software architecture. They describe solutions for addressing specific quality concerns, and are prevalent across many software systems. Once a decision is made to utilize a tactic, the developer must generate a concrete plan for writing code and implementing the tactic. Unfortunately, this is a non-trivial task even for experienced developers. Often, developers resort to using search engines, crowd-sourcing websites, or discussion forums to find sample code snippets to implement a tactic. A fundamental problem of finding implementation for architectural tactics/patterns is the mismatch between the high-level intent reflected in the descriptions of these patterns and the low-level implementation details of them. To reduce this mismatch, we created a novel Tactic Search Engine called ArchEngine (ARCHitecture search ENGINE). ArchEngine can replace this manual internet-based search process and help developers find and reuse tactical code from a wide range of open source systems. ArchEngine helps developers find implementation examples of an architectural tactic for a given technical context. It uses information retrieval and program analysis techniques to retrieve applications that implement these design concepts. Furthermore, it lists and rank the code snippets where the patterns/tactics are located. Our case study with 21 graduate students (with experience level of junior software developers) shows that ArchEngine is more effective than other search engines (e.g., Krugle and Koders) in helping programmers to quickly find implementations of architectural tactics/patterns.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Systems and Software - Volume 130, August 2017, Pages 81-93
نویسندگان
, , , ,