The patent's assignee for patent number 8621417 is
News editors obtained the following quote from the background information supplied by the inventors: "Software code--comprising instructions that may be used to control or instruct the operation of one or more processing devices such as microprocessors, microcontrollers, co-processors, etc.--is ubiquitous and pervades many aspects of modern day technology. The scope of software development projects, sometimes involving numerous software developers (i.e., those persons responsible for the actual drafting of software code) working over periods of many months or even years, requires the use of software code development processes that developers need to adopt in order to provide high quality code. Such software development processes generally specify the various steps developers must take prior to considering the software code 'completed.' For example, software development processes may specify how developers are to review code quality, perform unit testing, fix defects etc. before the code is checked in using well-known configuration management and/or source control repository tools.
"Practice has demonstrated that ensuring high fidelity adoption of software code development processes results in higher quality code. Improved quality of such software code ultimately leads to improved quality of the overall, integrated software project and, ultimately, improved end-user satisfaction. Conversely, failure by developers to adhere to such software code development processes results in an increased likelihood of lower quality code, more errors in code functionality, increased integration problems and end-user dissatisfaction.
"Despite the importance of following code development processes, it remains difficult today (particularly on large projects employing numerous and/or geographically diverse developers) for project managers to verify that developers are actually adhering to the recommended software code development processes. Since the actual creation of the software code typically occurs on the local workstations and integrated development environments (IDE) of a number of developers, it is almost always physically impossible for a project manager to directly monitor each developer's workstation and his/her work. This lack of oversight often leads to developers bypassing the software code development processes thereby reducing the quality of the resulting code. Furthermore, the time and effort required to correct the resulting quality issues decreases the overall efficiency with which the development project is completed.
"To address these issues, systems have been developed to provide automated monitoring of the adherence of developers to software development processes. For example, Johnson and Kou described the so-called Zorro system in 'Automated Recognition of
As a supplement to the background information on this patent, VerticalNews correspondents also obtained the inventors' summary information for this patent: "The instant disclosure enables project managers or the like to monitor adherence of software developers to one or more software code development processes. Generally, this is achieved through capture of the occurrence of relevant activities performed by developers, as indicated by the development tools they use, and the subsequent comparison of these activities with rule-based models of the desired software code development process(es). Differences between a given rule-based model and the captured activities are indicative of a failure to adhere to a software development process. In an embodiment, management of rules is fostered when first and second processing patterns are received and merged to provide a merged processing pattern. Each processing pattern, which may be received by a processing device via a textual and/or graphical user interface, represents at least a portion of a desired software code development process. Optionally, the merged processing pattern may be presented to a subject-matter expert to obtain feedback thereon. The merged processing pattern may then be converted into an executable process verification rule for use in monitoring process adherence.
"In an embodiment, merging of processing patterns is accomplished by first converting the respective processing patterns into graph form. The resulting first and second graphs are compared to determine points of intersection between the first and second graphs such that a merged graph may be produced. The merged graph is then converted into the merged processing pattern and subsequently processed as noted above.
"In one embodiment described herein, an event collection component collects development process event information generated by developers and a rule execution component compares it with one or more executable verification rules representative of a software code development process. If any conditions of the at least one executable verification rules are not met through these comparisons, one or more failure indication are generated and stored. Thereafter, a reporting component can generate a report concerning the failure indication for subsequent presentation to a user.
"In yet another embodiment, the event collection component employs a data collection component that collects raw development process event data from one or more development tools used by the developers. Thereafter, filtering rules are employed to filter the raw development process event data to provide the development process event information. A query formation component may be employed to formulate the filtering rules.
"Various methods and apparatus in accordance with these embodiments and others are further described herein. In this manner, the instant disclosure provides techniques that improve the efficiency by which automated process adherence monitoring systems are able to determine the level of compliance by developers with one or more software code development processes. For example, the rule merging capabilities described herein reduce the number of rules that must be maintained and the processing required to assess such rules. That is, the burden of keeping track of and periodically assessing multiple different rules is reduced without any loss in coverage provided by the merged rules in comparison with the un-merged rules. Furthermore, the speed with which the rules are evaluated may be improved. Absent merging, states that are actually common to two or more rules would need to be independently assessed for each rule. This incurs an increased processing burden in order to assess all of the rules. Merger of such common states eliminates their redundant assessment, lowering processing overhead and beneficially reducing the time it takes to assess the rules. Such improved monitoring capability therefore ensures better process adherence and subsequent improvement in software code quality, overall development efficiency and end-user satisfaction."
For additional information on this patent, see: Kaulgud, Vikrant Shyamkant; Sharma, Vibhu Saujanya. Rule Merging in System for Monitoring Adherence by Developers to a Software Code Development Process. U.S. Patent Number 8621417, filed
Keywords for this news article include: Software,
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- 5 Notable Hispanic Technology Executives
- Top Hispanic Tech Companies Push for the Top
- Rand Paul Tops Presidential Straw Poll at Conservative PAC Conference
- Tesla's Alt-Energy Future Aims for Massive Lithium-Ion Battery Production
- New Chat App, Yik Yak, Causes Problems for Students
- China Urges Malaysia Flight Emergency Response
- Russia, Crimea Discuss Referendum
- Visa, MasterCard Team Up to Focus on Payment Security
- Gas Prices May Jump from Calif. Emissions Law
- Obama Meets with Ukraine Prime Minister Wednesday