arrow
Return

A search engine for finding and reusing architecturally significant code

delete2017-08-01
delete6
delete
OA
AI
I
Ibrahim Mujhid
J
Joanna C. S. Santos
R
Raghuram Gopalakrishnan
M
Mehdi Mirakhorli *
DOI:10.1016/j.jss.2016.11.034delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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. (C) 2016 Published by Elsevier Inc.
Keywords:
Architecture
Traceability
Tactics
Information
Models
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.5K
Citations:
8.4K

Organization

R
Rochester Institute of Technology
Scholars:
3.8K
Papers: 3.3K
Citations: 45
Cited Papers

Cited Papers

errShare
errSave
How Well Do Search Engines Support Code Retrieval on the Web?
err2011-12-01
err75
errOAAI
errSim, Susan Elliott; Umarji, Medha; Ratanotayanon, Sukanya; Lopes, Cristina V.
errShare
errSave
Exemplar: A Source Code Search Engine for Finding Highly Relevant Applications
err2012-09-01
err123
errOAAI
errMcMillan, Collin; Grechanik, Mark; Poshyvanyk, Denys; Fu, Chen; Xie, Qing
errShare
errSave
errShare
errSave
Laparoscopic adrenal surgery
err1995-04-01
err0
PREAI
errM. E. Stoker; N. Patwardhan; B. S. Maini
errShare
errSave
Metallic and Crustal Elements in Biomass-Burning Aerosol and Ash: Prevalence, Significance, and Similarity to Soil Particles
err2020-12-23
err0
PREAI
errLeif G. Jahn; Lydia G. Jahl; Garret D. Bland; Bailey B. Bowers; Luke W. Monroe; Ryan C. Sullivan
errShare
errSave
errShare
errSave
researcher View more