US8365148B2 - Automated code review alert indicator - Google Patents
Automated code review alert indicator Download PDFInfo
- Publication number
- US8365148B2 US8365148B2 US12/238,220 US23822008A US8365148B2 US 8365148 B2 US8365148 B2 US 8365148B2 US 23822008 A US23822008 A US 23822008A US 8365148 B2 US8365148 B2 US 8365148B2
- Authority
- US
- United States
- Prior art keywords
- computer program
- measure
- program code
- code
- manually
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the present invention is in the field of computer program code production.
- the present invention provides a system and a method for measuring the amount of computer program code produced by a developer.
- the development of computer software typically comprises the production of a certain quantity of computer program code.
- This code is often produced in a high-level programming language such as C++, Visual Basic, or Java.
- high-level program or source code may be compiled into object code for execution on particular hardware.
- the object code may then be loaded into memory and processed by a processor to provide a wide variety of functionality, from configurable control routines for bespoke hardware to mass-market personal computing applications.
- Computer program code produced in many programming languages has a line structure, wherein a number of commands and/or functions are discretely presented, one after each other on separate lines.
- the end of a line is implicit, for example after the end of a command, and in other languages the end of a line is explicit, for example based on a line return or a chosen stop character.
- This line structure is present even in object-oriented languages, wherein the data used to implement objects within the languages is presented using lines of data methods or initialisations.
- Computer program code may be produced either manually by an author or developer or automatically using software tools known in the art.
- To manually produce the code the developer will typically use a computer and user interface devices such as a keyboard and a mouse. In the simplest scenario the developer may simply manually enter, or write, lines of code into a text editor.
- IDE integrated development environment
- Examples of widely used IDEs are Microsoft Visual Studio, Eclipse, and Oracle JDeveloper.
- certain IDEs provide visual programming tools to allow rapid projection of program code: for example, within Microsoft Visual Studio one or more lines of code are automatically generated when a button is added to a form in a visual design environment and within Oracle JDeveloper, one or more lines of code are automatically generated when a field is added to a table.
- the mixture of automatically generated and manually entered computer program of code can make it difficult for a developer to ascertain the volume of computer program code that they themselves have generated.
- ELOC effective lines of code
- a system for monitoring the production of computer program code comprises:
- IDE integrated development environment
- a component integrated into the integrated development environment, adapted to monitor whether one or more sections of computer program code are generated automatically or manually, so as to determine a measure of the volume of computer program code manually produced by a developer.
- the measure comprises a numeric value and the component is further adapted to compare the measure with one or more configurable measure ranges and determine when said measure is within one or more of the ranges.
- the component may comprise a visual indicator, the appearance of the indicator being based on the result of the (range) determination.
- the indicator may comprise text or one or more graphical icons.
- each configurable range has an associated colour, the visual indicator displaying the appropriate colour based on the result of the determination.
- the indicator may also be configured to indicate whether the computer program code requires review and/or testing.
- the measure comprises the number of lines of executable code within the computer program code, wherein a line of code is typically determined based on known implicit or explicit line end criteria, such as stop characters.
- the component is further adapted to provide a measure that is independent of the programming language of the computer program code, for example the component may be adapted to compute a first measure of the volume of computer program code manually produced by a developer that is dependent on the programming language of the computer program code and to scale the first measure to provide a final measure independent of the programming language.
- the component may be adapted to compare the computer program code within the first program file with the computer program code within a second program file to determine the measure, the second program file comprising a copy of any automatically generated computer program code that has been inserted into the first program file.
- the component is implemented by a processor processing program instructions stored in memory, wherein the program instructions are loaded into working memory in the context of program instructions implementing the IDE.
- a method for monitoring the production of computer program code comprises:
- the measure comprises a numeric value and the method further comprises:
- Such a method may also further comprise: f) displaying a visual indicator, the appearance of the indicator being based on the result of the determination performed in step e), wherein the visual indicator may comprise text or one or more graphical icons.
- each configurable range has an associated colour
- step f) further comprising configuring the visual indicator to display the appropriate colour based on the result of the determination.
- the method also comprises g) reviewing and/or testing the computer program code following indication by the visual indicator, wherein the measure may comprise the number of lines of executable code within the computer program code.
- the component is further adapted to provide a measure that is independent of the programming language of the computer program code, in which case step c) may further comprise:
- the measure comprises a numeric value and the method further comprises resetting the measure to a set point.
- the method may also further comprise repeating steps a) to c).
- the computer program code may be produced in the form of a first program file and step (b) may comprise:
- a computer-readable medium comprising program code configured to perform the method of:
- FIG. 1 illustrates schematically an exemplary system for implementing the present invention
- FIG. 2A illustrates the graphical user interface (GUI) components of a first embodiment of an exemplary integrated development environment (IDE) according to the present invention
- FIG. 2B illustrates the GUI components of the first embodiment of the exemplary IDE after the addition of automatically generated computer program code
- FIG. 2C illustrates the GUI components of the first embodiment of the exemplary IDE after manually editing a line of the automatically generated computer program code
- FIG. 3A illustrates the GUI components of a second embodiment of an exemplary integrated development environment (IDE) according to the present invention
- FIG. 3B illustrates the GUI components of the second embodiment of the exemplary IDE after the addition of a quantity of computer program code
- FIG. 3C illustrates GUI components of second embodiment of the exemplary IDE after the addition of a further quantity of computer program code
- FIG. 4 schematically illustrates the process of monitoring the production of computer program code according to a third embodiment of the present invention.
- FIG. 1 shows an exemplary system 100 for implementing the present invention.
- the system 100 comprises central processing unit 105 , communications bus 110 , input/output (I/O) interface 115 and working memory 135 .
- the I/O interface 115 enables one or more user interface devices to be connected, including, but not limited to, keyboard 120 , mouse 125 and display 130 .
- System 100 is provided as an example only and other devices and/or configurations may alternatively be used to implement the present invention.
- working memory 135 comprises program code loaded into memory for implementation on CPU 105 .
- program code configured to implement an integrated development environment (IDE) 140 and associated data is present within the working memory 135 .
- the IDE 140 comprises one or more software tools for the production of computer program code. These software tools are loaded into working memory 135 as part of the implementation of the IDE and so may be said to be integrated into the IDE, i.e. the computer program code that implements the tools is processed by the processor within the context of the processing of computer program code that implements the IDE.
- the IDE 140 comprises a text editor 145 , a code generator 150 , a compiler 155 , a debugger 160 and a monitor component 165 .
- Text editor 145 , compiler 155 , and debugger 160 are tools that are known within the art and may be selectively provided according to the need of a developer utilising the IDE.
- Code generator 150 comprises one or more tools adapted to automatically generate computer program code.
- code generator 150 may comprise a number of design tools including tools for form design, i.e. the design of graphical user interfaces (GUIs), tools for database design or tools for object management. Such tools may enable a developer to insert a quantity of pre-written code into a current project.
- Monitor component 165 comprises computer program code configured to monitor the volume of computer program code produced by a developer using the IDE. As the monitor component 165 is implemented as part of the IDE, i.e.
- the IDE is integrated into the IDE, it is able to programmatically monitor, and if necessary programmatically access, the operation of other software tools within the IDE 140 , the operation of the IDE 140 itself and the contents of working memory (i.e. data) used by the IDE 140 and the other software tools, including text editor 145 and code generator 150 .
- the term “programmatically” may be interpreted as meaning “at the program level”, i.e. associated with the operation of a program within working memory.
- the operation of the monitor component 165 will be described in more detail by way of example below.
- FIG. 2A shows an exemplary graphical user interface (GUI) for IDE 140 .
- GUI graphical user interface
- the GUI may be displayed on display 130 and a developer may interact with the elements of the display using user interface devices such as keyboard 120 and mouse 125 .
- the GUI of the IDE 200 comprises a main window or form providing text editor 145 and an auxiliary window or form 220 that displays the visual output of monitor component 165 .
- the presence of auxiliary window 220 is optional.
- the text editor 145 may be used to manually enter lines of computer program code 230 .
- the monitor component 165 is adapted to provide one or more measures of the volume of computer program code manually produced by the developer operating the IDE 100 and comprises two indicators: a first indicator 250 illustrating the number of lines of code that have been manually entered by a developer and a second component 260 showing a measure of the total number of lines of computer program code that are part of the current project.
- the second indicator 260 is optional and is provided in the present example to better explain the operation of the invention. In the example shown in FIG. 2A , the developer has manually entered four lines of computer program code 230 and thus the first indicator and second indicator both indicate four lines.
- the code generator 150 of the IDE 140 provides means for the developer to automatically generate one or more lines of computer program code to implement certain features in the current project.
- “to automatically generate” means to produce one or more lines of computer program code based on one or more lines of pre-written or pre-produced computer program code, i.e. based on code that has not been written by the present developer.
- a standard function may comprise a plurality of lines of computer program code that have been written in the past and stored as part of the IDE program files or external libraries. As this pre-written code has typically been reviewed, debugged and possibly updated over time it often does not require further in-depth review or testing after insertion into a current project.
- FIG. 2B an example is provided wherein three lines of computer program code 270 have been auto-generated by the IDE.
- the auto-generated code is bracketed by two lines of comments 180 which signify the start and end of the auto-generated code. These comment lines are optional and in certain embodiments may not be provided.
- Monitor component 165 being integrated into the IDE and present within working memory 135 during implementation of the IDE, is adapted to monitor the operation of the IDE and to record the occurrence of events that add automatically generated computer program code, together with the number of lines of automatically generated code that have been added.
- the first indicator 250 remains at four indicating that no new lines of computer program code have been entered manually by the developer.
- the second indicator 260 has been updated to show that the total number of lines of code that comprise the project equals seven, reflecting the four manually entered lines 230 and the three automatically generated lines 270 .
- the volume of code that is monitored could relate to a single project, i.e.
- the monitor component 165 may be adapted to monitor the computer program code produced by a plurality of developers.
- the level at which monitor component 165 operates and the number of developers that are monitored may be user configurable, for example using a configuration file that may be accessed by the monitor component 165 .
- the monitor component 165 is also adapted to detect when a line of auto-generated code is manually edited. For example, in FIG. 2C , line 290 of the automatically generated computer program code has been manually edited to provide the required functionality (“currentvalues” has been replaced by “x”). After this edit, the first indicator 250 is updated to indicate that a further line of code has been manually edited (i.e. five lines in total) but the second indicator 270 remains at seven indicating that the total number of lines of code remains constant.
- Monitor component 165 thus provides one or more indicators that show a developer when it is time to have their code reviewed. For example, by monitoring the first indicator 250 , a review may be scheduled when the recorded number of manually entered lines of code exceeds a given threshold, for example 800 lines of code. After review the cumulative total of one or more of the indicators may be reset. In certain embodiments, the indicators may be reset by clicking on a control component forming part of the monitor component interface visible to the user. By integrating the component 165 into the IDE 140 the number of lines of code that are manually entered is calculated in real time. This differs from previous solutions wherein the number of lines of code was evaluated by scanning completed files containing computer program code.
- the monitor component of the present invention may also be optionally adapted to apply a scale factor to one or more of indicators 250 and 260 to compensate for different levels of programming language verbosity.
- the scale factor may be predetermined based on configurable configuration data. In use the volume of code displayed by one or more of indicators 250 and 260 may be multiplied by the scaling factor to produce a volume measurement that is independent of the programming language used for development. The scaled measurements may then be displayed to a developer as well as, or instead of, indicators 250 and 260 .
- the IDE may provide tools to auto-generate computer program code to provide a Java representation of a database table.
- the IDE may provide one or more tools to auto-generate 2000 lines of code and place this code in a file for use as a template. A developer may then customise this template file depending on the present application.
- the exact number of lines of computer program code may vary with the database table definition.
- the monitor component 140 records the number of lines of code that have been automatically generated.
- monitor component 165 compares the computer program code present in the edited file with the original generated content, to determine the number of new or edited lines. If the developer were to add 100 lines of computer program code and then further modify 50 lines of the automatically generated code, then the monitor component 165 would record that there are 150 lines of new or modified code out of a total of 2100 lines of computer program code in the present file.
- the monitor component 165 may also be configured to record and store volume statistics for a particular file or project in persistent storage, such as within a file on a hard disk or solid state device.
- the monitor component 165 may be configured to store volume statistics at regular time intervals and/or on exiting the IDE or the current project.
- the monitor component 165 may read the volume statistics from the persistent storage and configure indicators 250 and 260 accordingly.
- the monitor component 165 is able to track changes to the computer program code over a plurality of development sessions and may monitor the volume of computer program code produced by a developer over variable time periods between review sessions.
- FIGS. 3A to 3C A second embodiment of the present invention is shown in FIGS. 3A to 3C .
- the second embodiment is a variation of the first embodiment, providing the addition of a visual “traffic light” indicator to indicate when a code review is required.
- FIG. 3A shows an exemplary GUI of an IDE according to the second embodiment.
- Graphical component 300 provides a visual output for monitor component 165 .
- the graphical component 300 may be provided in addition to, or instead of, text indicators 250 and 260 .
- the graphical component is provided in the form of a “traffic light”, i.e. a control component comprising three colour components 310 , 320 , 330 aligned vertically.
- the colour components 310 , 320 , 330 are selectively activated to display a particular respective colour to the development.
- colour component 310 comprises a green circle
- colour component 320 comprises an amber circle
- colour component 330 comprises a red circle.
- each colour component comprises a circle of a default background colour, such as the background colour of rectangle 300 .
- the appearance of graphical component 300 may be altered to suit required circumstances, for example different colours may be used, colour components 310 , 320 , 330 may be of a different shape or arranged horizontally etc.
- the position of the graphical component in relation to one or more of text indicators 250 and 260 may also vary depending on requirements and the arrangement of controls within the IDE GUI. Furthermore, graphical component 300 may be displayed together with one of text indicators 250 and 260 or may be displayed with both text indicators.
- monitor component 165 is adapted to compare the volume of computer program code manually produced by a developer, for example as indicated by indicator 250 , with one or more thresholds or ranges stored in memory.
- thresholds or ranges may be configurable and set by an administrator dependent on the characteristics of the present development project. The comparison may be performed in real time, i.e. instantaneously, at predetermined time intervals, or after one or more events such as edit of the computer program code.
- a first range whose upper bound is set by a first threshold and whose lower bound is set at zero, represents a range of code volume values wherein a review is not required.
- This first threshold has a configurable value of 250 lines of computer program code.
- the volume of computer program code manually produced by the developer is 5 lines.
- the monitor component 165 compares the volume of computer program code manually produced by the developer ( 5 ) with the first threshold ( 250 ). As the former is less than the latter, the volume is within the first range and the graphical component 300 is adapted to display colour component 310 in an activated state, i.e. as a green circle, and colour components 320 and 330 in a de-activated state, i.e. as default colour circles. The developer is then aware that nor review is required.
- the developer has edited the computer program code, which now comprises a total of 871 lines of computer program code, 251 lines of which have been manually entered (i.e. 620 lines of automatically generated code).
- the monitor component 165 compares the volume of manually-entered code, as shown by indicator 250 , with the first threshold ( 250 ). As the former is greater than the latter the volume of manually entered code is not within the first range.
- the monitor component 165 compares the volume of manually entered code with a second threshold, in this case 800 , representing the upper bound of a second range (the first threshold comprising the lower bound of said second range). In FIG. 3B , the volume of manually entered code is less than the second threshold and so the volume is within the second range.
- the graphical component 300 is thus adapted to display colour component 320 in an activated state, i.e. as an amber circle, and colour components 310 and 330 in a de-activated state, i.e. as default colour circles.
- the developer is then aware that they are nearing the time for a review and so a review should be scheduled.
- the developer has further edited the computer program code, which now comprises a total of 1035 lines of computer program code, 839 lines of which have been manually entered (i.e. 620 lines of automatically generated code).
- the monitor component 165 compares the volume of manually-entered code, as shown by indicator 250 , with the first threshold ( 250 ). As the former is greater than the latter the volume of manually entered code is not within the first range.
- the monitor component 165 compares the volume of manually entered code with the second threshold ( 800 ). As the volume of manually entered code is greater than the second threshold and the volume is within a third range.
- the graphical component 300 is thus adapted to display colour component 330 in an activated state, i.e.
- FIG. 4 A third embodiment of the present invention is shown in FIG. 4 .
- the third embodiment provides a preferred method for distinguishing between manually edited and automatically generated code.
- FIG. 4 shows a simplified example of the interaction between the code generator 150 and the monitor component 165 within the context of the IDE 140 .
- a developer produces lines of computer program code in a similar manner to that described in the first and second embodiments.
- the developer either manually or automatically adds, edits or removes lines of computer program code from a file.
- This file may be of a variety of forms including Java or C++ class definitions, header files, executable routines etc. In certain embodiments, more than one file may be monitored.
- code generator 150 within the IDE 140 retrieves or generates the required code ready for insertion into the current file.
- the IDE 140 is modified so that an additional copy of the automatically generated code is produced.
- intercept component 410 monitors the output of the code generator 150 and copies any code that is output by the code generator 150 .
- code generator 150 or other components within the IDE 140 may be modified to produce the extra copy of the automatically generated code.
- FIG. 4 The two copies of the automatically generated code are shown in FIG. 4 .
- a first copy of the code 420 is inserted into the code already present in the file 430 being edited by the developer, in a similar manner to that shown in FIG. 2B and described previously.
- a second, separate copy 440 is also inserted into a second file 450 that is hidden from the developer.
- the second file 450 thus stores a copy of all the automatically generated code that is added to file 430 .
- the second file 450 contains a copy of the presently inserted code 440 and a copy of a section of previously inserted code.
- the second file 450 will be kept up to date, storing an unedited version of any inserted code. As the second file is hidden from the developer this process happens without the awareness of the developer, i.e. is transparent to the developer.
- the first file 430 and the second file 450 are monitored by monitor component 165 .
- the monitor component 165 compares the contents of the first file 430 with the contents of the second file 450 to determine how many lines of code differ between the two files. Such comparison may be performed using well known algorithms for comparing files that are known in the art. For example, one algorithm may take each line of code in the second file 450 in turn and determine whether file 430 contains a matching line. If a matching line is found the count of automatically generated lines is increased by one. If a line of automatically generated code in the first file 430 is edited by the developer in development, then such a line would no longer match its associated copy or sister line that was inserted into the second file 450 . Hence, the present invention can determine when automatically generated code is edited by a developer and count this code as one or more lines of manually edited code.
- Monitor component 165 may also count the total number of lines of code within the first file 430 using other common algorithms. The number of lines of automatically generated code counted by the monitor component using techniques such as those above may then be subtracted from the total number of lines of code within the first file 430 to generate a measure of the number of lines of code that have been manually produced or edited by a developer. This measure, or a indication based on this measure, may then be displayed to the developer using text indicator 250 and/or graphical component 300 .
- any file that can be edited and saved to the file system used by the IDE 140 may be subject to the process of the third embodiment.
- the monitor component 165 is configured to compare files 430 and 450 to produce the measure of manually produced code either at regular time intervals (e.g. every 5 minutes), or whenever a line navigation occurs (e.g. hitting the return key, or navigating with the mouse 125 or keyboard 120 ).
- Such operation parameters may be user configurable and so may be edited based on the present task.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
- a) producing computer program code using an integrated design environment;
- b) monitoring whether one or more sections of computer program code are produced automatically or manually; and
- c) based on the monitoring step, determining a measure of the volume of computer program code produced manually by a developer.
- d) comparing the measure with one or more configurable measure ranges; and
- e) determining whether the measure is within one or more of the configurable measure ranges.
- c1) computing a first measure of the volume of computer program code manually produced by a developer that is dependent on the programming language of the computer program code; and
- c2) scaling the first measure to provide a final measure independent of the programming language.
- (b1) generating a copy of any automatically generated code that is inserted into the first program file during step (a) and storing the copy in a second program file; and
- (b2) comparing the contents of the first program file and the second program file to determine the number of lines of unedited automatically generated code present in the first program file.
- a) implementing an integrated design environment;
- b) monitoring whether one or more sections of computer program code are produced automatically or manually; and
- c) based on the monitoring step, determining a measure of the volume of computer program code produced manually by a developer.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/238,220 US8365148B2 (en) | 2008-09-25 | 2008-09-25 | Automated code review alert indicator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/238,220 US8365148B2 (en) | 2008-09-25 | 2008-09-25 | Automated code review alert indicator |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100077375A1 US20100077375A1 (en) | 2010-03-25 |
US8365148B2 true US8365148B2 (en) | 2013-01-29 |
Family
ID=42038907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/238,220 Expired - Fee Related US8365148B2 (en) | 2008-09-25 | 2008-09-25 | Automated code review alert indicator |
Country Status (1)
Country | Link |
---|---|
US (1) | US8365148B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140123104A1 (en) * | 2011-07-06 | 2014-05-01 | Abb Ag | Method and device for the programming and configuration of a programmable logic controller |
US9733933B1 (en) | 2016-09-19 | 2017-08-15 | International Business Machines Corporation | Automatic comment editing for a smart integrated development environment |
US9928040B2 (en) | 2013-11-12 | 2018-03-27 | Microsoft Technology Licensing, Llc | Source code generation, completion, checking, correction |
US20200183818A1 (en) * | 2018-12-11 | 2020-06-11 | Sap Se | Detection and correction of coding errors in software development |
US11961147B1 (en) * | 2012-04-15 | 2024-04-16 | K. Shane Cupp | Cards, devices, systems, and methods for financial management services |
US12189518B2 (en) | 2022-02-17 | 2025-01-07 | Sap Se | Evaluation and update of test code with respect to production code changes |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110252163A1 (en) * | 2010-04-09 | 2011-10-13 | Microsoft Corporation | Integrated Development Environment for Rapid Device Development |
US8627279B2 (en) | 2011-02-07 | 2014-01-07 | International Business Machines Corporation | Distributed, non-intrusive code review in a development environment |
US8776012B2 (en) * | 2011-10-25 | 2014-07-08 | International Business Machines Corporation | Automatic scheduling of review meetings |
US9110765B2 (en) * | 2012-10-17 | 2015-08-18 | Sap Portals Israel Ltd | Displaying different hierarchy levels of computer program source code |
US9613112B2 (en) | 2013-03-15 | 2017-04-04 | Miosoft Corporation | Structuring data |
US9665403B2 (en) | 2013-03-15 | 2017-05-30 | Miosoft Corporation | Executing algorithms in parallel |
US20160253171A1 (en) * | 2015-02-26 | 2016-09-01 | Yan Zang | Application development system with native feature engine |
US11989552B2 (en) * | 2022-05-19 | 2024-05-21 | Altooro Technologies LTD. | Automated quality assessment of a programming task |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845128A (en) * | 1996-02-20 | 1998-12-01 | Oracle Corporation | Automatically preserving application customizations during installation of a new software release |
US6658660B1 (en) * | 1999-12-31 | 2003-12-02 | Nortel Networks Limited | System and method of automatically modifying source code for marshaling, unmarshaling and marking modified data objects |
US6895577B1 (en) * | 1999-05-13 | 2005-05-17 | Compuware Corporation | Risk metric for testing software |
US20060150150A1 (en) * | 2005-01-06 | 2006-07-06 | International Business Machines Corporation | Editor support for modifying generated source code |
-
2008
- 2008-09-25 US US12/238,220 patent/US8365148B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845128A (en) * | 1996-02-20 | 1998-12-01 | Oracle Corporation | Automatically preserving application customizations during installation of a new software release |
US6895577B1 (en) * | 1999-05-13 | 2005-05-17 | Compuware Corporation | Risk metric for testing software |
US6658660B1 (en) * | 1999-12-31 | 2003-12-02 | Nortel Networks Limited | System and method of automatically modifying source code for marshaling, unmarshaling and marking modified data objects |
US20060150150A1 (en) * | 2005-01-06 | 2006-07-06 | International Business Machines Corporation | Editor support for modifying generated source code |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140123104A1 (en) * | 2011-07-06 | 2014-05-01 | Abb Ag | Method and device for the programming and configuration of a programmable logic controller |
US9235381B2 (en) * | 2011-07-06 | 2016-01-12 | Abb Ag | Method and device for the programming and configuration of a programmable logic controller |
US11961147B1 (en) * | 2012-04-15 | 2024-04-16 | K. Shane Cupp | Cards, devices, systems, and methods for financial management services |
US9928040B2 (en) | 2013-11-12 | 2018-03-27 | Microsoft Technology Licensing, Llc | Source code generation, completion, checking, correction |
US9733933B1 (en) | 2016-09-19 | 2017-08-15 | International Business Machines Corporation | Automatic comment editing for a smart integrated development environment |
US20200183818A1 (en) * | 2018-12-11 | 2020-06-11 | Sap Se | Detection and correction of coding errors in software development |
US10853231B2 (en) * | 2018-12-11 | 2020-12-01 | Sap Se | Detection and correction of coding errors in software development |
US12189518B2 (en) | 2022-02-17 | 2025-01-07 | Sap Se | Evaluation and update of test code with respect to production code changes |
Also Published As
Publication number | Publication date |
---|---|
US20100077375A1 (en) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8365148B2 (en) | Automated code review alert indicator | |
US8627287B2 (en) | Prioritizing quality improvements to source code | |
CN101208659B (en) | Method and apparatus for performance analysis on a software program | |
US8219980B2 (en) | Identifying a potential breakpoint location in a code path in a computer program based upon the frequency of execution of the code path as identified in collected profile data | |
US8181150B2 (en) | System and method for synchronized workflow management | |
US7613589B2 (en) | Measuring productivity and quality in model-based design | |
US7392507B2 (en) | Modularizing a computer program for testing and debugging | |
US8010946B2 (en) | Apparatus for analysing and organizing artifacts in a software application | |
US7272823B2 (en) | Method and apparatus for software metrics immediate feedback mechanism | |
US20080301639A1 (en) | Identifying Changes in Source Code | |
US8413108B2 (en) | Architectural data metrics overlay | |
Kramer et al. | How live coding affects developers' coding behavior | |
US20120116561A1 (en) | Program testing apparatus, method of testing a program, and program testing program | |
US20030131342A1 (en) | Debugger with activity alert | |
US20040078693A1 (en) | Software testing | |
US20140372083A1 (en) | Derived restrictions in a combinatorial model | |
US20080307391A1 (en) | Acquiring coverage data from a script | |
JP2000347894A (en) | Source program check device and program recording medium thereof | |
Olsen et al. | Interface usage measurements in a user interface management system | |
US20070044075A1 (en) | Method for analysis of source code and display of corresponding output through a marking scheme | |
Gronback | Software remodeling: Improving design and implementation quality | |
US20050022170A1 (en) | Visual debugging interface | |
US20080052587A1 (en) | Unit Test Extender | |
Lönnberg et al. | MVT: a system for visual testing of software | |
Yazbek | A concept of quality assurance for metrics in CASE-tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ORACLE INTERNATIONAL CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MILLMORE, MARTIN JOHN;REEL/FRAME:024418/0938 Effective date: 20080909 Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MILLMORE, MARTIN JOHN;REEL/FRAME:024418/0938 Effective date: 20080909 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20250129 |