Garching, 08 July 2005 NRI (Night Reporting Infrastructure) for VLT Common Software Integration S....
-
Upload
elijah-chapman -
Category
Documents
-
view
213 -
download
1
Transcript of Garching, 08 July 2005 NRI (Night Reporting Infrastructure) for VLT Common Software Integration S....
Garching, 08 July 2005
NRINRI(Night Reporting Infrastructure)(Night Reporting Infrastructure)
for VLT for VLT Common SoftwareCommon Software
IntegrationIntegration
S. Feyrin, M. ZamparelliEuropean Southern Observatory
Garching, 08 July 2005 NRI for VLTSW 2
Contents
1. NRI Generalities :• NRI/dynamic: motivation and requirements• NRI Layout
2. NRI for vltsw
3. Possible changes and extensions
Garching, 08 July 2005 NRI for VLTSW 3
NRI/dynamic: motivation
1. shorten the feedback loops from manual integration
2. bring to the attention of the developers software modules with missing or insufficient testing
3. bring to the attention of the developers software modules with suspect memory fingerprint
4. diminish the labor pain when migrating to new compiler version or OS release
5. have minimal trend analysis for various performance indicators
Garching, 08 July 2005 NRI for VLTSW 4
Requirements on NRI
1. Build environment should be the correct one2. All applicable platforms should be exercised3. Static and dynamic reports should correspond to
the same version of the software4. The build should take place from scratch5. Tests should be executed in isolation (FIFO)6. Ease of access to reports on the web for
diagnosis7. Tests running amock should not halt the
integration
Garching, 08 July 2005 NRI for VLTSW 5
Configuration Management
Static Inspection
host1
Database WebServer
host3host2
(dynamic inspection machines)
CodewizardJTestsloccountcmt/cmtjavaJDependdoxygengraphvizPurify/ValgrindsplintJContract
source
reports
NRI Layout
Garching, 08 July 2005 NRI for VLTSW 6
Machines
HOST PROJECT OS WHAT TOOLS
te64 VLT SL3 APPLIC. Purify SCI/OCI
te53 VLT SL4 CS Purify OCI
te26 VLT HP-UX 11 CS Purify OCI
te44 ALMA RH9/rtai APPLIC.Purify SCI
valgrind
te31 ALMA RH9/rtai CSPurify SCI
valgrind
te48 ALMA RH Ent. 4 CS Purify SCI
te58 ALMA SunOS CS Purify OCI
te89 ALMA RH9/rtai APPLIC. Purify SCI
Garching, 08 July 2005 NRI for VLTSW 7
Integration Steps
1: normal build
2: normal test (TAT or otherwise based)
2,5: additional purify and test (if applicable)
3: purified build (vltMakefile based)
4: purified test (TAT or otherwise based)
Garching, 08 July 2005 NRI for VLTSW 9
NRI for VLTSW
1. Dynamic (build and test)Adapt NRI to work with non Makefile based approach of VLTSW
Align results of automated integration and tests with the manual ones
Solve problems related on LCU availability and usage
Solve display related problems
2. Dynamic (coverage and memory reports) Run through PureCoverage and get consistent results!!
Improve layout and readability of coverage reports
Separate the weed from the crop in memory reports
3. Notification (responsibility assignment)
4. Static part
Garching, 08 July 2005 NRI for VLTSW 10
Links to the Web
• http://websqa.hq.eso.org/vlt/snapshot2/• http://websqa.hq.eso.org/vlt/snapshot3/vltsw-
Reports/TestCoverage-Linux
/
Garching, 08 July 2005 NRI for VLTSW 11
Purify
Purify
Compiled Test DIRMakefile
test target
make test
test output
UNDETERMINED
FAILED PASSED
UNDETERMINED
TAT
TAT signature
Test result determination
Garching, 08 July 2005 NRI for VLTSW 12
Problems and Solutions (?)
• Execution time on HP-UX is prohibitive
• LAST or non LAST ?
• How frequently should it run ?
• Tools license availability ?• pkingBuild should build a partition of the
CMM modules space (http://websqa.hq.eso.org/vlt/PackagesAnalysis.html )
Garching, 08 July 2005 NRI for VLTSW 13
NRI: dynamic + static
Implementation of Integration steps on a “daily” basis• Daily build report on appropriate OS from last code revision• Coding Standards (actually industry best practices) reports (
VLTSW20030379 VLTSW20030380)• Naming conventions, dependency diagrams, subsystem partition in
modules.• McCabe Cyclomatic Complexity and Halstead Volume, in-line
documentation sufficency• in-line documentation• Lines of code at subsystem and global level• test lines of code at subsystem level• Unit test coverage• amount of check-in operations• SPRs per subsystem