Browse Prior Art Database

System impact of code changes - tool for developers Disclosure Number: IPCOM000247413D
Publication Date: 2016-Sep-05
Document File: 1 page(s) / 27K

Publishing Venue

The Prior Art Database


Developers, during daily activities often add new logging request to new or existing code. Similarly they add new tables or code that adds/modifies data in existing tables. Problem is that they rarely can estimate (or even consider) impact of their changes on product requirements - in terms of log storage or database configuration. Described is a solution that allows to know a'priori how changes developers make impact final product in terms of resource usage.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 01 of 1

System impact of code changes -

Add-on for toolchain that will generate reports on how code changes affect output generated by program, for example logs size or database size is proposed. Output from such add-on may be used by IDE plug-in to precisely display information in annotated source code or just presented in raw form for developer to read and understand.

Such tool should to parse user (product, project) source code - trying to look only on changes (using for example SCM (source code management) tool supplied diff). Information on added/changed logging statements gets extracted. For database access one finds places where database statements are executed 1). Next step is to estimate how often would those statements get executed. This may be done in several ways - by running program in debug/profile mode and capturing call frequency/count or in a static way analyzing cyclometric complexity of the code. This

will not be covered here.

We also analyze how execution of given statement will affect system - for example, how many database rows will be inserted, how many log bytes logged (and on which logging level) and so on. Having this info one can calculate total impact and present analysis to user - either in text form or via IDE plugin that would annotate source code and provide hints.

Flow is presented on Figure 1.

1) this may be also done by interfacing db preprocessor (for static SQL) or SQL driver.

Fig. 1

-- tool for developers

tool for developers