Axel Bengtsson, Ola Olsson:
Automatic Software Integration,
summary, report, September 2006.
Abstract:
In large software projects with perhaps hundreds or even thousands of developers there is
a need for good Configuration Management, often abbreviated as CM. Its main tasks of CM
group or individual consist of organizing and controlling the development of the software.
What if the developer would like some feedback on the new implementation and the CM team is not available at that particular time? Is it perhaps possible to classify deliveries, make simple builds, smoke tests and send the new build to system test automatic?
The purpose of this thesis project is to find a method that allows the CM group to use automatic integration. More builds on more cell phone variants as often as possible would save a lot of time as well as improving quality assurance in the various software projects.
This would also facilitate faster feedback than before to the developers and tighten the loop from developers to the integration of the code.
We decided to write a program that fulfils these constraints and in order to make that possible, we had to gather knowledge about Sony Ericsson Mobile Communications (SEMC) systems, processes and tools and how they interact together. After some exposure to manual integration we wrote a program, AutoInt, which works in the same manner as manual integration.
One constraint on how AutoInt works, which was already known from the beginning, is the risk of the input/output from the other programs. If these protocols are changed, then our program will not work as intended.
A positive side effect that was not considered at the outset of the project is that all builds, even failed ones, decrease the build time for future builds by using the same files that are winked in from cache.
Some experiments were also set up to gather data on the effectiveness and efficiency of the tool.