| Systems and methods for managing data associated with computer code -> Monitor Keywords |
|
Systems and methods for managing data associated with computer codeRelated Patent Categories: Data Processing: Software Development, Installation, And Management, Software Program Development Tool (e.g., Integrated Case Tool Or Stand-alone Development Tool), EditingThe Patent Description & Claims data below is from USPTO Patent Application 20070250810. Brief Patent Description - Full Patent Description - Patent Application Claims FIELD OF INVENTION [0001] The present disclosure relates to the field of computers and more particularly, to methods and arrangements for managing data associated with lines of code in a computer program. BACKGROUND [0002] The popularity of computers continues to grow. In fact, computers have become very important tools for many individuals and many businesses throughout the world. One reason for such a proliferation in computer usage, is that computers can efficiently perform many tasks that heretofore were performed manually by humans with a pencil and paper. For example, adding numbers, writing papers, tracking inventory, tracking important dates, and sending mail, can be preformed more efficiently with the assistance of a computer. [0003] However, each task requires a computer to execute at least one set of instructions. Accordingly, a significant amount of computer executable instructions are commercially available to the public. These executable instructions are referred to by many names including computer programs, computer code, program code, computer software, computer instructions, applications, or simply "code." Typical computer programs are relatively complex and it is difficult to understand how code manipulates a processor of a computer during every step of a process. Often, millions of hours are spent creating and improving such programs and a typical computer program has thousands of lines of code. [0004] Most computer programs have an initial release or publication, and then when improvements are added to existing programs, a new version of the computer program is released. It is also rare for a new program to be developed from "scratch" as programmers that develop new programs often borrow code from textbooks, templates or from some previously developed code. A typical computer program will have numerous releases wherein each new release will provide an incremental improvement to the previously released version. New software generally must be compatible with previously released software, thus, large pieces of code in a software release are often borrowed from the previously released version of the software. [0005] Often, when a computer program needs improvements, new programmers are assigned the task, but the new programmers are often unfamiliar with the intricacies of the existing program. Additionally, when minor revisions are required to existing code, novice programmers are often employed to make such revisions. One major challenge that programmers face is to understand how specific functions within the existing software occur and when and where these specific functions occur. It is nearly impossible for a programmer to improve or modify a program if the programmer cannot locate specific features of the code and understand how the code instructs the computer to perform. Further, knowing some history about the development of certain aspects of the code can help a programmer understand the current arrangement of the code in the computer program. [0006] Computer programming tools typically allow programmers to add "comments" to lines of code during construction of the code wherein the comments can provide a "narration" of the code and log important details. Such a narration can make it easier for subsequent programmers to locate and understand features within the code. Generally, a programmer can add comments at a "source code" level, or integrate comments into the source code. Source code is a machine readable language level that can instruct a processor of a computer to execute specific functions. [0007] As stated above, comments can provide data that explains something about a line of code, or about a block of code, and comments are often added by a programmer in an effort to make the code more understandable for subsequent programmers. For example, a comment can locate a start of a functional feature in the program, can explain the feature provided by lines of code, can explain why the feature was added and can locate an end to a section of code that provides the feature. When a programmer fixes a problem he or she may add additional comments regarding what was learned, how an improvement was made, why a line of code was added or modified and what problems were fixed by the added line(s) of code. [0008] Like many other sciences, programming has its own technical language and "slang" often becomes accepted terminology as the language evolves for the particular science. Although comments can be written in "plain English" to "educate" subsequent programmers, many programmers write in less than perfect English and programmers often utilize technical jargon in the comments. Thus, comments are often non-uniform and hard to search with a text search, making sections of code hard to locate and hard to understand. [0009] Typically, during the programming procedure, source code is displayed to a user by a programming tool and comments can be added adjacent to lines of code. Specific syntax in the displayed program can separate or delineate the comments from executable code. Generally, comments are intended to assist programmers in understanding something about the code and when a computer executes the code, the computer will ignore the comments that are integrated with the code. [0010] Software development tools have been significantly improved in recent years and many development tools now provide what is called an integrated development environment or (IDE). The concept of an IDE combines many tools that historically were separated entities. For example, an IDE can include a "browser type" graphical user interface, editors, compilers, auto-correction tools, and other very useful tools that can provide a single multifunctional software development tool. Some popular IDE's include Visual J++, VisualAge for C++ or Java, Java WorkShop, Visual Cafe, Elipse and IBM Websphere Studio Application Developer. Many programmers rely on the advantages provided by an IDE to develop code. [0011] Although these commercially available IDEs provide many desirable features, IDEs still have many shortcomings. For example, IDEs and other development tools only provide limited management features for the voluminous, disorganized comments often found within source code. A "hodgepodge" of unusable programmer comments often occurs in code that has undergone many years of development from many different programmers and many different programming groups. Numerous authors with individual styles can cause serious non-uniformity in the comments because many programmers utilize their own abbreviations and jargon when making entries in the comments section. More specifically, lines of code that have been developed over the years and released numerous times often contain so many comments that it is hard for a programmer to locate the desired code. [0012] Some development tools provide a simple text search tool to perform textual searches of the comments but these tools are often useless when the comments include jargon and have a tenuous connection to the English language. In such a situation, creating search terms to initiate the text search is not an intuitive process. In fact in this situation, most programmers view the comments as useless clutter. Thus, in many circumstances the available tools cannot locate desired materials, and programmers often cannot make effective use of the comments in a computer program. Yet in mature code, comments can fill up significant amount of space on a display, "obscuring" the actual computer executable code. [0013] A programmer may have a specific question or want to find a specific function among the thousands of lines of code and thousands of comments. However, when comments lack any logical order, or are not coherent, the comments will have limited usefulness. Although these comments may still be useful and salvageable if a proper comment data management tool were available to manage such data. SUMMARY OF THE INVENTION [0014] A method of managing comment data that is associated with lines of computer executable code is provided herein. Comment data can be linked to the executable code. The comment data can be stored, and a tag can be assigned to the comment data to further classify, describe or provide information about the comment data. When it is desired to locate a feature or something in the code, or in the comments, tags can allow for an improved way to search for such a feature. Thus, in response to a user query, a search engine can locate a specific tag or groups of related tags and display lines of code and comments associated with the located tag(s). [0015] Such tags can provide descriptive attributes for lines of code and for the comments. For example, tags can indicate a time, a date, or an action performed, an author, a revision number, a release number, an event, programmer contact information, a feature, a function, an important location in the code, a functional break in the code, and past or present syntax or execution problems in the code a defect, a person assigned to the defect, or person assigned to a portion or line of code to name a few. [0016] The tags can be user defined and can be abbreviated such that a single character in the comments can provide a selectable link to additional information possibly stored in a database format. The tags can assist in classifying and indexing the comment data without taking up a significant amount of space on the display or creating "clutter" in the source code. In other embodiments, instead of an abbreviation, a tag can be a descriptive word. When the tag provides a selectable link, the tag can act as a selectable button, and when the selectable button is selected by a user, additional data can be retrieved from a database and displayed to provide more in-depth, often useful data to the user. [0017] Such a data management method allows voluminous, unorganized and even cryptic comment data integrated with source code to be easily managed such that the comment data can be organized to provide meaningful information to an unfamiliar programmer or IDE user. The results of a search for tags can be displayed as lines of computer readable code and comment(s) with tags that are associated with the lines of code. [0018] To create the tagged code or comments, a programmer can manually enter tags to comments or the code. In one embodiment, the IDE or software development platform can automatically add tags to lines of computer readable code responsive to the results of a specific user action. For example, when a user modifies a line of code, the dates, actions, names, and revisions numbers and their associated tags can be automatically entered into the comments by the IDE. In another embodiment an IDE can automatically add tags to comments associated with the code. For example, responsive to the process of compiling or linking, an ancillary process that monitors activities performed by the computer can auto-assign tags to the comment data. [0019] Comment data entry can also be performed with the assistance of a graphical user interface. In such an embodiment, a pop-up window can be provided by the software development platform such that a programmer can select/assign a tag to a comment after viewing a list of tags in a menu. A logical association can be created between tags, such as between a date, an author, a release and a revision number. Such an association can be utilized to index data and form a relational database. Multiple tags can be assigned to a single line of code or to a single comment data entry. [0020] When a programmer desires to locate code or comments, the user can activate a "search pop-up window" and chose from a list of searchable tags or a combination of selectable tags or search criteria. For example, multiple search criteria can be utilized to provide an advanced multiple criteria search for lines of codes or comments. [0021] In another embodiment, an apparatus is provided to manage comment data. An association module can associate executable computer instructions with comment data. The comment data can provide searchable attributes for the comment data. A tagger can be connected to the association module and the tagger can tag the attributes so that the attributes can be classified and then effectively located during future searches. The embodiment can also include a search engine to locate the executable computer instructions utilizing the attributes in response to a user query. In addition, a graphical user interface can be provided that is adapted to receive user input, display user selectable buttons and to display search results. The apparatus can also be integrated with other software development tools. Continue reading... Full patent description for Systems and methods for managing data associated with computer code Brief Patent Description - Full Patent Description - Patent Application Claims Click on the above for other options relating to this Systems and methods for managing data associated with computer code patent application. ### 1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Systems and methods for managing data associated with computer code or other areas of interest. ### Previous Patent Application: Computer software for visualizing genotyping data Next Patent Application: User declarative language for formatted data processing Industry Class: Data processing: software development, installation, and management ### FreshPatents.com Support Thank you for viewing the Systems and methods for managing data associated with computer code patent info. IP-related news and info Results in 0.28137 seconds Other interesting Feshpatents.com categories: Accenture , Agouron Pharmaceuticals , Amgen , AT&T , Bausch & Lomb , Callaway Golf |
||