Product Overview of Krugle
Krugle is a powerful enterprise-scale software analysis and search platform designed to provide comprehensive and federated access to an organization’s entire body of code, code artifacts, and technical information. Here’s a detailed look at what Krugle does and its key features:
Core Functionality
Krugle serves as a centralized search engine for software code, allowing developers to search, analyze, and manage code across multiple projects and repositories. It integrates with various source code management (SCM) systems, such as Git, Subversion, Microsoft Team Foundation, and ClearCase, as well as file systems, issue tracking systems, and other data repositories.
Key Features
Advanced Code Search
Krugle features advanced search capabilities that exploit the underlying structure and design intent of software code. Users can create searches using query qualifiers to locate specific code elements like function calls, class definitions, and comments. The platform supports various query types, including Basic, Solr, and Regular Expression queries, allowing for broad and exact matches, phrase combinations, and exclusion. It also supports stemmed and wildcard searches, as well as camel case code tokenizing.
Dependency Analysis
Krugle helps in pinpointing all occurrences of code method and function definitions and their downstream calling dependencies. This enables quick tracing of dependency spread and complete change impact analysis, which is crucial for understanding the implications of code changes.
Code Duplication and Clone Detection
The platform includes clone detection capabilities to identify duplicate code within internal code files. This feature aids in simplifying the impact assessment process for code changes across projects that share code and in identifying commonly used code for Service-Oriented Architecture (SOA) candidates.
User Defined Metadata and Prioritization
Administrators can define user-defined project metadata, allowing searches to be filtered by internal characteristics and descriptions. This metadata also enables prioritization of projects, which influences the relevancy and visibility of the projects in search results.
Integration with Development Tools
Krugle integrates with various development tools and systems, including issue tracking systems like JIRA, document repositories, and wikis. It indexes and makes searchable the entire check-in comments, issue summaries, and other relevant metadata from these systems.
Security and Access Control
The platform offers robust security features, including optional group-level LDAP configuration and alternative Access Control List (ACL) options via the Krugle API. Administrators can manage access to specific projects, control code file access, and set up notification email lists.
Administration and Configuration
Krugle provides a comprehensive administration console where administrators can manage accounts, schedule maintenance tasks, set up notifications, and control access to code files. The platform also supports the definition and management of projects through either interactive entry or mass import files.
Advanced Ranking Algorithms
Krugle uses advanced relevance ranking algorithms that consider code characteristics and project metadata to bring the most relevant search results to the top of the list. This ensures that users quickly find the information they need.
AutoSearch™ Feature
The Krugle AutoSearch™ feature automatically prepares summary trend data for any Krugle query, allowing continuous analysis and reporting on a wide range of development activities. This feature helps in tracking specific code patterns, performance issues, or defect fixes across multiple projects.
Benefits
- Comprehensive Search: Krugle provides a unified search interface across all code repositories and related information systems.
- Efficient Analysis: It enables developers to quickly identify code patterns, vulnerabilities, and application issues in real-time.
- Collaboration: The platform facilitates the sharing of code fixes, application insights, and troubleshooting information among teams.
- Customization: With user-defined metadata and prioritization, Krugle can be tailored to meet the specific needs of an organization.
- Security: Robust security features ensure that access to code and projects is controlled and managed effectively.
In summary, Krugle is an indispensable tool for enterprises that need to manage, analyze, and search large volumes of software code efficiently. Its advanced search capabilities, integration with development tools, and robust security features make it a powerful solution for ensuring fast resolution to mission-critical development and deployment issues.