Computerized software development environment including customized presentation of source code
First Claim
1. A computer system for managing software development comprising:
- a structured data store that contains a plurality of parse trees, each of the parse trees corresponding to an expression of software source code, the structured data store organized in accordance with rules and constructs of one or more programming languages, the structured data store further containing source code formatting information,querying means for querying the structured data store for software source code corresponding to one or more query terms in a search query, the search query specifying software source code that pertains to a current task of a user of the system, the querying means querying the structured data store for parse trees that correspond to the one or more terms in the search query, andformatting means for generating formatted software source code in textual form from the parse trees that correspond to the one or more terms in the search query, and for providing the formatted software source code for display to the user.
0 Assignments
0 Petitions
Accused Products
Abstract
A software development system maps the organization and storage of software or code of a project in a structured database instead of in a series of discrete files and directories in a traditional file system. The code is analyzed and parsed to create parse trees for storage in the structured database. Individual software developers may be presented with the code taking the appearance of a traditional file based representation with each developer being able to have their own customized representation or view of the code to best suit their needs, preferences and current task. To facilitate migration to such system, tools are provided to export a snapshot of the structured database into discrete files in order that existing file based tools may continue to be used.
-
Citations
21 Claims
-
1. A computer system for managing software development comprising:
-
a structured data store that contains a plurality of parse trees, each of the parse trees corresponding to an expression of software source code, the structured data store organized in accordance with rules and constructs of one or more programming languages, the structured data store further containing source code formatting information, querying means for querying the structured data store for software source code corresponding to one or more query terms in a search query, the search query specifying software source code that pertains to a current task of a user of the system, the querying means querying the structured data store for parse trees that correspond to the one or more terms in the search query, and formatting means for generating formatted software source code in textual form from the parse trees that correspond to the one or more terms in the search query, and for providing the formatted software source code for display to the user. - View Dependent Claims (2, 3)
-
-
4. A computer system for managing software development comprising:
-
a structured data store that contains a plurality of parse trees, each of the parse trees corresponding to an expression of software source code, the structured data store organized in accordance with rules and constructs of one or more programming languages, the structured data store further containing source code formatting information, querying means for querying the structured data store for software source code corresponding to one or more query terms in a search query, the querying means querying the structured data store for parse trees that correspond to the one or more terms in the search query, formatting means for generating software source code in textual form from the parse trees that correspond to the one or more terms in the search query; and a snapshot tool with an exporter to project a snapshot of the structured data store for a given version into a generated file based representation of discrete files compatible with file based software development tools. - View Dependent Claims (5)
-
-
6. A computer system for managing software development comprising:
-
a software database comprising a plurality of atomic expression bodies, each atomic expression body generated from an abstract syntax tree that corresponds to a top-level expression of parsed computer software source code; a human database comprising a plurality of configuration rules that provide formatting information for use in providing a visual representation of specified portions of the software source code; and a snapshot tool comprising, an exporter that projects a snapshot of the software database for a selected version of the source code into a file based representation of discrete files compatible with specified software development tools, and an importer that converts software code in discrete files compatible with specified software development tools into a format compatible for storage in the software and human database. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification