Browse Prior Art Database

System and Method of Fix Dependencies Management when Generating and Applying on Software

IP.com Disclosure Number: IPCOM000244324D
Publication Date: 2015-Dec-02

Publishing Venue

The IP.com Prior Art Database

Abstract

Eliminating the fix dependency deadlock, circular dependency and other conflicts by early checking the dependency tree when fix generating. Identify the target Fix dependency tree 1 by analyzing the file(touched files in target Fix) change history table (or change set in revision control tool). Generating the method call hierarchy dependency to see if any method invocation dependency exists, if yes merge with tree 1. On Fix installation phase, the dependency tree is used for dependency auto resolving, Fix downloading and installation order determination, as well as Fix un-install and roll-back.

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

Page 01 of 11

System and Method of Fix Dependencies Management when Generating and Applying on Software

As software product becoming larger and more complex, we always have lots of fix pack, fix, APAR, etc. after GM(Golden Master) which means the first release of the product. Generally, customers or internal users report a defect to product team, various developers will be involveddepend onwhich component(s) the defect belong to, when the defect be fixed, developer will make a tiny fix pack for customer -which called Fix. Each Fix will focus on one certain defect, quarterly(or may be monthly or any time frame), product team will make an officialfix pack which include all of the Fix during this periodof time.

From customer's perspective, they have 2 main choiceswhen need to install a fix: Incrementalupdate

Non-incrementalupdate or right-size update

Compare to 2

nd

choice, 1

st

                  option will need to install ALL of the update before this fix, that will be a disasterwhen the fix amount is huge, what more, the customer must be waiting until the incremental fix is well tested and verified before ship out, the period is monthly or quarterly on usual, for security fix it is impossible. The benefit is, they got consistencyon one certain level.

Use right-size update can save lots of time and disk space for customer, but from developer's perspective, that brings lots of extraeffort and may cause file conflict. Different component owner or developer will working on same stream of all of the fix, different developer or different fix may making change on same file many times, that may cause lots of conflict.

Currently, developer need manually find out all Fixes which updated any file that will be updated in its Fix.For example, developer want to update classA in fixA, he need to find all of those fix which making any changeson classA, if he need to delete some code in classA, it may cause another fix fixB doesn'twork -as fixB depends those code in classA. Currently, developer need manually create a rule to avoid such a conflict, so two fix may have below relationship:

Depends on

Mute

Supersede
However, such a solution has below disadvantages:

May bring logic conflict:

Dependency deadlock: A<-B<-C, C mute with A

Circular dependency: D<-E<-F<-G<-D

Dependency conflict: A supercede B->C, B supercede D, C mute with D, can not install A and B together.

1


Page 02 of 11

Need additional manual work to developer, which is inefficiency and easy to get wrong.

Customer download and install the fix will not have any dependencies information unless try to install the fix, what
's worse, customer need remember the install order and analyze the dependencies then apply in right order.

Based on above disadvantages, we'd like to introduce new solution to avoid those conflicts effectively.

Figure 1: iFix Delivery Mode

This invention provides a system and methodwhich helps software developer manage the dependencies of the Fix for the software artifacts defect on generating and ins...