challenging projects and virtual labs in web-enhanced it classes

60
Challenging Projects and Virtual Labs in Web-enhanced IT Classes Vladimir Riabov Associate Professor Department of Mathematics & Computer Science Rivier College, USA E-mail: [email protected] 8 th NCTT Annual Curriculum Workshop Springfield, Massachusetts, July 11-14, 2005

Upload: guang

Post on 15-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

8 th NCTT Annual Curriculum Workshop Springfield, Massachusetts, July 11-14, 2005. Challenging Projects and Virtual Labs in Web-enhanced IT Classes. Vladimir Riabov Associate Professor Department of Mathematics & Computer Science Rivier College, USA E-mail: [email protected]. Agenda:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

Challenging Projects and Virtual Labs in Web-enhanced IT Classes

Vladimir RiabovAssociate Professor

Department of Mathematics & Computer Science

Rivier College, USA

E-mail: [email protected]

8th NCTT Annual Curriculum Workshop

Springfield, Massachusetts, July 11-14, 2005

Page 2: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 2

Agenda:

• Web-enhanced IT Classes at Rivier College;• Lecture Notes and Web Resources;• Class Assignments;• Virtual OPNET Labs;• Examples of Students’ Projects and Research:

– Project Papers (SANs, WiFi, Gigabit Ethernet, etc.)– Digital Video Cluster Simulation with OMNeT++– Code Complexity Analysis for two projects in

Networking

• Conclusion

Page 3: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 3

Web-enhanced IT Classes at Rivier College

• Undergraduate and Graduate Programs in CS & CIShttp://www.rivier.edu/departments/mathcs/home/cs/CSIndex.htm

• Certificates in Networking and Information Technologies• IT-related Courses:

– CS553: Introduction to Networking Technology– CS572: Computer Security– CS573: Advanced Wide Area Networks– CS575: Advanced Local Area Networks– CS597: Multimedia and Web Development– CS612: Information Technology– CS632: Client/Server Computing– CS685: Network Management, and others

• Web-enhanced Classes across CS/CIS Curricula

Page 4: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 4

Lecture Notes and Web Resources

• Instructor’s Web site (Teaching, Research & Publications):

http://www.rivier.edu/faculty/vriabov/

• Web sites for IT Courses– Syllabi– Lecture Notes– Assignments– Schedules– Resources– Examples of Students’ Project Papers

• Web Resources

Page 5: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 5

Class Assignments

• Warm-up Exercises• Homework Assignments• Virtual Labs• Midterm Exams• Project Papers• Research Reports• Final Exams

Page 6: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 6

Warm-up Exercises (examples)

• What is the last digit of the number 25975927 [mod(10)]?

• Using MSExcel™ spreadsheet, find the last digit of the number 253 [mod(10)]?

• How to use your findings in these two cases for encrypting e-messages?

Page 7: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 7

Last digit of the number 25975927 [mod(10)]?

• It’s enough to consider the last digit of a simpler number 75927;

• Do your experiments (see Table)!• “LAST” can be 7, 9, 3, or 1 only;

therefore, it is a cycle of four cases;

• The power, 5927 can be represented as 5927 = 4*1481+3;

• Therefore, “LAST” of 75927 is the same as the “LAST” of 73, which is “3”.

• Answer: “3”.

N 7^N1 72 493 3434 24015 168076 1176497 8235438 57648019 40353607

10 28247524911 197732674312 1384128720113 9688901040714 67822307284915 474756150994316 33232930569601

Page 8: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 8

Last digit of the number 253 [mod(10)]?

• “LAST” digit can be 2, 4, 8, or 6 only; therefore, it is a cycle of four cases;

• The power, 53 can be represented as 53 = 4*13+1;

• The “LAST” of 253 is the same as the “LAST” of 21, which is “2”.

• Therefore, following this algorithm, the last digit of the number 253 must be 2;

• Try MS Excel™Spreadsheet (see Table)!

• Why the last digit of the number 253 is 0 there?

• HINT: Consider the number of “valuable” digits in large natural numbers calculated with MS Excel™!

N 2^N 7^N1 2 72 4 493 8 3434 16 24015 32 168076 64 1176497 128 8235438 256 57648019 512 40353607

10 1024 28247524911 2048 197732674312 4096 1384128720113 8192 9688901040714 16384 67822307284915 32768 474756150994316 65536 3323293056960117 131072 23263051398720718 262144 162841359791045019 524288 1139889518537310020 1048576 7979226629761200021 2097152 55854586408328400022 4194304 390982104858299000023 8388608 2736874734008090000024 16777216 19158123138056600000025 33554432 134106861966396000000026 67108864 938748033764775000000027 134217728 6571236236353430000000028 268435456 45998653654474000000000029 536870912 321990575581318000000000030 1073741824 2253934029069230000000000031 214748364832 429496729633 858993459234 1717986918435 3435973836836 6871947673637 13743895347238 27487790694439 54975581388840 109951162777641 219902325555242 439804651110443 879609302220844 1759218604441645 3518437208883246 7036874417766447 14073748835532848 28147497671065649 56294995342131250 112589990684262051 225179981368525052 450359962737050053 9007199254740990

Page 9: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 9

Homework Assignments (example 1)• Using Manchester Encoding Format, encode a bit-stream that

represents two first letters of your last name previously written in the ASCII (7-bit) Coding Standard. Using MS Word, plot a diagram that illustrates your Manchester code.

Page 10: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 10

Homework Assignments (example 2)

• Plot a diagram that illustrates a virtual private connection from your home computer to the Rivier College Network. Briefly describe issues that should be resolved for establishing this connection.

Page 11: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 11

Homework Assignments (example 3)A LAN has a data rate of r=4 Mbps and a propagation delay between two stations at opposite ends of d=20 μs. For what range of PDU sizes (S, measured in bits) does the stop-and-wait flow control give an efficiency of at least 50%, E > 0.5? (neglect the transmission time for the ACK signal). The efficiency, E is defined as a ratio of the PDU transmission time (time for inserting the PDU onto the medium) to the total time the medium is occupied for this one PDU.

Stop-and-wait flow control Crystal Yu’s solution: S=?

T=S/r is PDU-transmission time;

E=T/(T+d+d); E > 0.5;

T>0.5*(T+2*d); T>2d;

S>2*d*r; S>2*20*10-6*4*106;

Answer: S>160 bits

Page 12: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 12

Visiting the IT Services Department

Page 13: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 13

Visiting the IT Services Department

Page 14: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 14

Virtual Labs

• OPNET IT Guru Academic Edition™ :http://enterprise37.opnet.com/4dcgi/COMMUNITY_HOME

http://www.opnet.com/services/university/home.html • OPNET Virtual Lab Manuals:

– http://www.opnet.com/services/university/lab_manuals.html • William Stallings, Business Data Communications, Fifth

Edition• William Stallings, Data and Computer Communications,

Seventh Edition• Raymond R. Panko, Business Data Networks and

Telecommunications, Fourth Edition• Larry L. Peterson and Bruce S. Davie, Computer Networks – A

Systems Approach,Third Edition.

Page 15: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 15

Virtual Labs• Four-Six OPNET™ Virtual Labs per Course:

http://www1.us.elsevierhealth.com:8300/MKP/Aboelela/manual/index.html L00: Introduction - Basics of OPNET IT Guru Academic Edition™L01: Ethernet - A Direct Link Network with Media Access ControlL02: Token Ring - A Shared-Media Network with Media Access ControlL03: Switched LANs - A Set of Local Area Networks Interconnected by Switches L04: Network Design - Planning a Network with Different Users, Hosts, and Services L05: ATM - A Connection-Oriented, Cell-Switching Technology L06: RIP: Routing Information Protocol - A Routing Protocol Based on the Distance-Vector Algorithm L07: OSPF: Open Shortest Path First - A Routing Protocol Based on the Link-State Algorithm L08: TCP: Transmission Control Protocol - A Reliable, Connection-Oriented, Byte-Stream Service L09: Queuing Disciplines - Order of Packet Transmission and Dropping L10: RSVP: Resource Reservation Protocol - Providing QoS by Reserving Resources in the Network L11: Firewalls and VPN - Network Security and Virtual Private Networks L12: Applications - Network Application Performance Analysis

Page 16: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 16

Virtual Lab Basics

Page 17: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 17

Lab Project Editor Window

Page 18: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 18

Lab: Network Expansion Plan

In this lesson, you plan for the expansion of a small company’s intranet. Currently, the company has a star topology network on the first floor of its office building and plans to add an additional star topology network on another floor. You will build and test this “what-if” scenario to ensure that the load added by the second network will not cause the network to fail.

Page 19: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 19

Creating a New Scenario

Use the Startup Wizard to set up a new scenario:

1 If IT Guru is not already running, start it.

2 Select File > New....

3 Select Project from the pull-down menu and click OK.

4 Name the project and scenario, as follows:

4.1 Name the project <initials>_Sm_Int

Include your initials in the project name to

distinguish it from other versions of this

project.

4.2 Name the scenario first_floor.

4.3 Click OK. The Startup Wizard opens.

5 Enter the values shown in the following table in the dialog boxes of the Startup Wizard:

Page 20: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 20

Creating the Network

Page 21: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 21

Creating the Network (Step 2)

Building a Server, Application & Profile

Page 22: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 22

Expanding the Network & Comparing Results (Step 3)Comparing Results

Page 23: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 23

Students’ Project Papers: “Storage Area Networks (SANs)”Fibre Channel Technology for Storage Area Networks by David Norman (fibre.pdf file is available)

V. Riabov, "Storage Area Networks," The Internet Encyclopedia, Wiley & Sons, Dec. 2003, pp. 1-11.

Page 24: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 24

Students’ Project Papers on Selected Networking ProtocolsGigabit Ethrnet, QoS, and Multimedia Applications by Jeff Corbit (gigabit-ethernet.pdf file is available)

V. Riabov, “Simple Mail Transfer Protocol," The Handbook of Information Security, Wiley & Sons, Dec. 2005, pp. 1-22.

Page 25: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 25

Students’ Project Papers: “WiFi Technologies”Secure Wi-Fi Technologies for Enterprise LAN Network by Tom Borick (wifi.pdf file is available)

V. Riabov, “Going Wireless," Rivier Today Magazine, March 2005.

Page 26: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 26

Digital Video Cluster Simulation with OMNeT++Digital Video Cluster Simulation by Martin Milkovits (cluster.pdf file is available)

Varga, Andras. 2004, OMNeT++ Version 3.0 User Manual [online]. Available via

<http://www.omnetpp.org/>.

Page 27: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 27

Digital Video Cluster Simulation (continue)

From: Digital Video Cluster Simulation by Martin Milkovits

Page 28: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 28

Digital Video Cluster Simulation (results)From: Digital Video Cluster Simulation by Martin Milkovits

Page 29: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 29

Research Project: “Networking Software Studies with the Structured Testing Methodology”

Presented by V. Riabov at the International Conference on Computer Science & Information Systems, Athens, Greece, 16-18 June 2005 (software.pdf file is available on Web)

Page 30: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 30

McCabe’s Structured Testing Methodology Approach and Tools for Networking Software Development

• McCabe’s Structured Testing Methodology is: a unique methodology for software testing proposed by McCabe in

1976; approved as the NIST Standard (1996) in the structured testing; a leading tool in computer, military, and aerospace industries (HP, GTE, AT&T, Alcatel, GIG, Boeing, NASA, etc.) since 1977; provides Code Coverage Capacity.

• Author’s Experience with McCabe IQ Tools since 1998 leaded three projects in networking industry that required Code

Analysis, Code Coverage, and Test Coverage; completed BCN Code Analysis with McCabe Tools; completed BSN Code Analysis with McCabe Tools; studied BSN-OSPF Code Coverage & Test Coverage; included these topics into Software Engineering and Networking

classes since 1999.

Page 31: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 31

McCabe’s Structured Testing Methodology Basics

• The key requirement of structured testing is that all decision outcomes must be exercised independently during testing.

• The number of tests required for a software module is equal to the cyclomatic complexity of that module.

• The software complexity is measured by metrics: cyclomatic complexity, v essential complexity, ev module design complexity, iv system design, S0, and system integration complexity, S1, Halstead metrics, and 52 metrics more.

• The testing methodology allows to identify unreliable-and- unmaintainable code, predict number of code errors and maintenance efforts, develop strategies for unit/module testing, integration testing, and test/code coverage.

Page 32: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 32

Basics: Analyzing a Module

• For each module (a function or subroutine with a single entry point and a single exit point), an annotated source listing and flowgraph is generated.

• Flowgraph is an architectural diagram of a software module’s logic.

1 main()2 {3 printf(“example”);4 if (y > 10)5 b();6 else7 c();8 printf(“end”);9 }

Statement CodeNumber

main Flowgraph

node:statement or blockof sequential statements

condition

end of condition

edge: flow of controlbetween nodes

1-3

4

5 7

8-9

Battlemap

main

b c printf

Page 33: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 33

if (i) ; if (i) ; else ; if (i || j) ;

do ; while (i); while (i) ; switch(i) { case 0: break; ... }

Flowgraph Notation (in C)

if (i && j) ;

Page 34: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 34

Flowgraph and Its Annotated Source Listing

Module: marketing

Annotated Source Listing

Program : corp4 09/23/99File : ..\code\corp4.iLanguage: instc_nppModule Module Start Num ofLetter Name v(G) ev(G) iv(G) Line Lines------ ----------------------------------------------------------- ----- ------ B marketing 2 1 2 16 10

16 B0 marketing()17 {18 int purchase;1920 B1* B2 purchase = query("Is this a purchase");21 B3 if ( purchase == 1 )22 B4* B5 development();23 else24 B6* B7 B8 support();25 B9 }

0

1*

2

3

4*

5

6*

7

8

9

Origin information

Node correspondence

Metric information

Decision construct

Page 35: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 35

Would you buy a used car from this software?

• Problem: There are sizeand complexity boundariesbeyond which softwarebecomes hopeless– Too error-prone to use– Too complex to fix– Too large to redevelop

• Solution: Control complexityduring development andmaintenance– Stay away from the boundaries.

Page 36: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 36

Important Complexity Measures

• Cyclomatic complexity: v = e - n + 2 (e=edges; n=nodes) – Amount of decision logic

• Essential complexity: ev– Amount of poorly-structured logic

• Module design complexity: iv– Amount of logic involved with subroutine calls

• System design complexity: S0 = iv – Amount of independent unit (module) tests for a system

• System integration complexity: S1 = S0 - N + 1 – Amount of integration tests for a system of N modules.

Page 37: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 37

• Cyclomatic complexity, v - A measure of the decision logic of a software module.– Applies to decision logic embedded within written

code.– Is derived from predicates in decision logic.– Is calculated for each module in the Battlemap.– Grows from 1 to high, finite number based on the

amount of decision logic.– Is correlated to software quality and testing

quantity; units with higher v, v>10, are less reliable and require high levels of testing.

Cyclomatic Complexity

Page 38: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 38

Cyclomatic Complexity 1

4

2

6

7

8

9

11

13

14

15

3 5

10 12

region (topology) method regions = 11

Beware of crossing lines

R1 R2

R3 R4

R5

R6R7

R8R9

R10

R11

19

23

1

23

45

67

89

10

11

12

13

1415

16

17

18

2021

22

23

24

edges and node methode = 24, n = 15v = e – n + 2 = 24 -15 +2v = 11

=2

=1

=1

=2

=1

=1

=1

=1predicate (logical) methodv = + 1v = 11

Page 39: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 39

Branching out of a loop Branching in to a loop

Branching into a decision

Branching out of a decision

Essential Complexity - Unstructured Logic

Page 40: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 40

Essential Complexity, ev

• Flowgraph and reduced flowgraph after structured constructs have been removed, revealing decisions that are unstructured.

v = 5 Reduced flowgraphv = 3

Therefore ev of the original flowgraph = 3

Superimposedessential flowgraph

Page 41: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 41

Essential Complexity, ev

Good designs

Can quicklydeteriorate!

v = 10 ev = 1

v = 11 ev = 10

• Essential complexity helps detect unstructured code.

Page 42: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 42

Module Design Complexity, iv

main

progeprogd

iv = 3

Therefore,

iv of the original flowgraph = 3

Reduced Flowgraph

v = 3

proge()

progd()

main v = 5

proge()

progd()

• Example:main(){

if (a == b) progd();if (m == n) proge();switch(expression){case value_1:

statement1;break;

case value_2:statement2;break;

case value_3:statement3;

}}

do not impact calls

Page 43: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 43

Module Metrics Reportv, number of unit test paths for a module

Total number of test paths for all modules

iv, number of integration tests for a module

Average number of testpaths for each module

Page 1 10/01/99 Module Metrics Report

Program: less Module Name Mod # v(G) ev(G) iv(G) File Name------------- ----- ------ ----- ----- ------------------CH:fch_get 118 12 5 6 ..\code\CH.ICH:buffered 117 3 3 1 ..\code\CH.Ich_seek 105 4 4 2 ..\code\CH.Ich_tell 108 1 1 1 ..\code\CH.Ich_forw_get 106 4 1 2 ..\code\CH.Ich_back_get 110 6 5 5 ..\code\CH.Iforw_line 101 11 7 9 ..\code\INPUT.Iback_line 86 12 11 12 ..\code\INPUT.Iprewind 107 1 1 1 ..\code\LINE.Ipappend 109 36 26 3 ..\code\LINE.Icontrol_char 119 2 1 1 ..\code\OUTPUT.Icarat_char 120 2 1 1 ..\code\OUTPUT.Iflush 130 1 1 1 ..\code\OUTPUT.Iputc 122 2 1 2 ..\code\OUTPUT.Iputs 100 2 1 2 ..\code\OUTPUT.Ierror 83 5 1 2 ..\code\OUTPUT.Iposition 114 3 1 1 ..\code\POSITION.Iadd_forw_pos 99 2 1 1 ..\code\POSITION.Ipos_clear 98 2 1 1 ..\code\POSITION.IPRIM:eof_bell 104 2 1 2 ..\code\PRIM.IPRIM:forw 95 15 8 12 ..\code\PRIM.IPRIM:prepaint 94 1 1 1 ..\code\PRIM.Irepaint 93 1 1 1 ..\code\PRIM.Ihome 97 1 1 1 ..\code\SCREEN.Ilower_left 127 1 1 1 ..\code\SCREEN.Ibell 116 2 1 2 ..\code\SCREEN.Ivbell 121 2 1 2 ..\code\SCREEN.Iclear 96 1 1 1 ..\code\SCREEN.Iclear_eol 128 1 1 1 ..\code\SCREEN.Iso_enter 89 1 1 1 ..\code\SCREEN.Iso_exit 90 1 1 1 ..\code\SCREEN.Igetc 91 2 1 2 ..\code\TTYIN.I------------- ----- ------ ----- ----- ------------------Total: 142 93 82Average: 4.44 2.91 2.56Rows in Report: 32

Page 44: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 44

Low Complexity Software• Reliable

– Simple logic• Low cyclomatic complexity

– Not error-prone– Easy to test

• Maintainable– Good structure

• Low essential complexity– Easy to understand– Easy to modify

Page 45: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 45

Moderately Complex Software

• Unreliable– Complicated logic

• High cyclomatic complexity– Error-prone– Hard to test

• Maintainable– Can be understood– Can be modified– Can be improved

Page 46: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 46

Highly Complex Software

• Unreliable– Error prone– Very hard to test

• Unmaintainable– Poor structure

• High essential complexity– Hard to understand– Hard to modify– Hard to improve

Page 47: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 47

McCabe QA

McCabe QA measures software quality with industry-standard metrics

– Manage technical risk factors as software is developed and changed

– Improve software quality using detailed reports and visualization

– Shorten the timebetween releases

– Develop contingency plans to address unavoidable risks

Page 48: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 48

Processing with McCabe Tools

BUILDLevel

TESTLevel

ANALYSISLevel

Preprocess Compile& Link

Run& Test

CM

ClearCase

PARSE

src files

src

*.E

Battlemap

Flowgraphs

Reports

Text Graphics

Test Plan

Instrumented srcinst-src; inst-lib.c

inst-src

Inst-lib.c

inst.exe

Output

IMPORT

Trace File

CoverageAnalysis

CoverageReport

Project CodeTraditional Procedures

New McCabe’s Procedures

Page 49: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 49

Project B: Backbone™ Concentration Node

Page 50: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 50

Project B: Backbone Concentration Node

• This system has been designed to support carrier networks. It provides both services of conventional Layer 2 switches and the routing and control services of Layer 3 devices.

• Nine protocol-based subtrees of the code (3400 modules written in the C programming language for BGP, DVMRP, Frame Relay, ISIS, IP, MOSPF, OSPF2, PIM, and PPP protocols) have been analyzed.

Page 51: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 51

Project-B Protocol-Based Code Analysis

• Unreliable modules: 38% of the code modules have the Cyclomatic Complexity more than 10 (including 592 functions with v > 20);

• Only two code parts (FR, ISIS) are reliable;• BGP and PIM have the worst characteristics (49% of

the code modules have v > 10);• 1147 modules (34%) are unreliable and

unmaintainable with v > 10 and ev > 4;• BGP, DVMRP, and MOSPF are the most unreliable

and unmaintainable (42% modules);• The Project-B was cancelled.

Page 52: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 52

Project-B Code Protocol-Based Analysis (continue)

• 1066 functions (31%) have the Module Design Complexity more than 5. The System Integration Complexity is 16026, which is a top estimation of the number of integration tests;

• Only FR, ISIS, IP, and PPP modules require 4 integration tests per module. BGP, MOSPF, and PIM have the worst characteristics (42% of the code modules require more than 7 integration tests per module);

• B-2.0.0.0int18 Release potentially contains 2920 errors estimated by the Halstead approach. FR, ISIS, and IP have relatively low (significantly less than average level of 0.86 error per module) B-error metrics. For BGP, DVMRP, MOSPF, and PIM, the error level is the highest one (more than one error per module).

Page 53: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 53

Comparing Project-B Core Code Releases

• NEW B-1.3 Release (262 modules) vs. OLD B-1.2 Release (271 modules);• 16 modules were deleted (7 with v >10);• 7 new modules were added (all with v < 10, ev = 1);• Sixty percent of changes have been made in the code modules with

the parameters of the Cyclomatic Complexity metric more than 20.• 63 modules are still unreliable and unmainaitable;• 39 out of 70 (56%) modules with v >10 were targeted for changing

and remained unreliable;• 7 out of 12 (58%) modules have increased v > 10;• Significant reduction achieved in System Design (S0) and System

Integration Metrics (S1):S1 from 1126 to 1033; S0 from 1396 to 1294.

• New Release potentially contains 187 errors (vs. 206 errors) estimated by the Halstead approach.

• Nevertheless, the Project-B was cancelled.

Page 54: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 54

Project C: Broadband Service Node

• Broadband Service Node (BSN) allows service providers to aggregate tens of thousands of subscribers onto one platform and apply customized IP services to these subscribers;

• Different networking services [IP-VPNs, Firewalls, Network Address Translations (NAT), IP Quality-of-Service (QoS), Web steering, and others] are provided.

Page 55: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 55

Project-C Code Subtrees-Based Analysis

• THREE branches of the Project-C code (Release 2.5int21) have been analyzed, namely RMC, CT3, and PSP subtrees (23,136 modules);

• 26% of the code modules have the Cyclomatic Complexity more than 10 (including 2,634 functions with v > 20); - unreliable modules!

• All three code parts are approximately at the same level of complexity (average per module: v = 9.9; ev = 3.89; iv = 5.53).

• 1.167 Million lines of code have been studied (50 lines average per module);

• 3,852 modules (17%) are unreliable and unmaintainable with v > 10 and ev > 4;

• Estimated number of possible ERRORS is 11,460;• 128,013 unit tests and 104,880 module integration tests should be

developed to cover all modules of the Project-C code.

Page 56: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 56

Project-C Protocol-Based Code Analysis

• NINE protocol-based areas of the code (2,141 modules) have been analyzed, namely BGP, FR, IGMP, IP, ISIS, OSPF, PPP, RIP, and SNMP.

• 130,000 lines of code have been studied.

• 28% of the code modules have the Cyclomatic Complexity more than 10 (including 272 functions with v > 20); - unreliable modules!

• FR & SNMP parts are well designed & programmed with few possible errors.

• 39% of the BGP and PPP code areas are unreliable (v > 10).

• 416 modules (19.4%) are unreliable & unmaintainable (v >10 & ev >4).

• 27.4% of the BGP and IP code areas are unreliable & unmaintainable.

• Estimated number of possible ERRORS is 1,272;

• 12,693 unit tests and 10,561 module integration tests should be developed to cover NINE protocol-based areas of the Project-C code.

• The decision has been made in re-designing the Project-C software and developing a new system prototype.

Page 57: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 57

Correlation between the Number of Error Submits, the Number of Unreliable Functions (v > 10), and the Number of Possible Errors for Six Protocols

0

100

200

300

400BGP

FR

IP

ISIS

OSPF

RIP Submits

UnreliableFunctions

Possible Errors

Page 58: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 58

Correlation between the Number of Customer Reports, the Number of Unreliable Functions (v > 10), and the

Number of Possible Errors for Five Protocols

0

100

200

300

400BGP

FR

ISISOSPF

RIPCustomer Reports

UnreliableFunctions

Possible Errors

Page 59: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 59

The Structured Testing Methodology has done for us:

• Identified complex code areas (high v).• Identified unreliable & unmaintainable code (v >10 & ev >4).• Predicted number of code errors and maintenance efforts [Halstead B,

E-, and T-metrics].• Estimated manpower to develop, test, and maintain the code.• Developed strategies for unit/module testing, integration testing.• Provided Test & Code Coverage [paths vs. lines].• Identified “dead” code areas.• Improved Software Design and Coding Standards.• Improved Reengineering Efforts in many other projects.• Validated Automated Test Effectiveness.

Page 60: Challenging Projects and Virtual Labs in Web-enhanced IT Classes

July 2005 Web-enhanced IT Classes 60

Conclusions• Web-enhanced classes in Networking Technologies

and other related areas provide students with better instructional support than “traditional” classes;

• Warm-up in-class exercises, homework assignments, lecture notes, field trips to IT Services, and virtual labs help students being familiar with modern state-of-the-arts networking technologies;

• Students’ challenge projects and research become vital components of their active studies at colleges that help students finding jobs and being promoted in the networking companies;

• Instructional openness and support become powerful resource for students in classroom and in their future professional life.