Home
Name of Presentation
Contents
1. AbstractCollection a cm NP e BtreeNode getTop Object getClass Injecting key takes most of Memory blue circle out of concern Recursive structure to push keys into tree e Many calls and memories are allocated here gt Eliminate recursive structure Analysis of Software Artifacts Spring 2006 Source B Function Detail Descendants f Btree add 1L f lt BtreeController push Z e Current method 724 1 529 088 100 720 100 720 264 162 99 396 100 720 Need same amount of memory for recursive call About 2 6 times call overhead with 1 5 megabytes additional memory allocation 1 5 mega bytes is not included in the entire memory consumption 8 4 mega bytes Maybe Purify does not show stack memory Analysis of Software Artifacts 68 Spring 2006 34 Non Recursive Source B Memory Profile Mem in use 10100KB 4 7575 KB 4 5050 KB 4 2525KB 4 2S 2 59 58 9 amp 3 00 14 J Current mem usage 10 015 160 Mem diff since snapshot 0 Show entire run Deak mem usage 10 015 160 Garbage Collect 9 Status Exited 1 Elapsed Time 00 00 19 e More memory allocated due to additional TreeNode e Approx 10 megabytes vs approx 8 4 mega bytes e Execution time 19sec e Surprising 50 sec vs 19 sec gt It s NOT pure execution time Real execution time is twice faster than recursive Analysis of
2. Analysis of Software Artifacts Spring 2006 Lessons Learned e Lattix LDM is a great place to start for architectural discovery and a good way to track dependencies oystems with many semantic dependencies and few syntactic dependencies will be difficult to work with in Lattix LDM This can still be overcome with manual marking of dependencies though Is based upon DSM technology which is continuing to mature this will also allow the tool to take advantage of new clever DSM partitioning algorithms that may be invented in the future Analysis of Software Artifacts Spring 2006 Questions We all have them No this will not spit out the notional architecture for your project Yes this does also come as an Eclipse plug in what doesn t nowadays No we don t know why the DSMs produced by the Eclipse plug in are more colorful than the ones produced by the stand alone application Yes we did run it against the Cystal2 project Analysis of Software Artifacts Spring 2006 o0 how did Crystal2 fare e Relatively well root MEENE LLLLLL PETEERE Li LI I L TEREE PE es Analysis of Software Artifacts Spring 2006 47
3. ect oredefined data MSEAlumniDB Bg Alumni E PersonaLInformation t Personal Ernail i HomeStreet t HomeStreet2 je HomeCity HomeState tj HomeZipCode ej HomeCountry HomePhone fi CellPhone E School Information TT Automobiles City State County zp Area Code FIPS les arrest Canada ne Number Phone Number with Area Code sh Analysis of Software Artifacts Spring 2006 19 How to Use DataFactory e Select Personal Information table to maintain data integrity ataFac E Field Numeric E Personal Information Option J Insert value romdatatbie E SI ption J Insert value from data table in ij CompanyType E JobTitle i BusinessStreet ii BusinessStreet2 jj BusinessCity jai BusinessState ej BusinessZipCode i BusinessCountry if BusinessEmail i9 BusinessPhone joj Salary aj StartDate ej EndDate i School Information a C For Help press F1 No script running Analysis of Software Artifacts Spring 2006 aoe i E Field Numeric MSEAlumniDB M Alumni H PersonaLInformation Option 3 Insert value from data table Student CUT ay 4 Company Type Field Student i EE Job Title CellPhone jj BusinessStreet jii BusinessStreet2 a BusinessCity ii BusinessState HomeState ij BusinessZipCode Format Used for Co uut BusinessCountry t 4 BusinessEmail gt Home
4. 5 22185 779990986 BMJ 07 16 02 11 45 14 7 8889 700000020 Mvv 08 08 05 16 09 31 8 30816 700000020 IRK 01 13 05 22 57 04 3645 785766120 MTR09 07 02 13 20 30 3829 700000440 ISN 03 11 02 20 05 29 12408 700194480 VOD 12 15 05 17 11 38 Personaltxt Business txt eSchoolt t SES HAS Fb IE SBANG wil i ss pc pelea Analysis of Software Artifacts Spring 2006 Evaluation Criteria bar Validity of Generated Data e Evaluate whether the generated data is realistic or not e Evaluate whether the generated data keeps the data integrity Compatibility e Evaluate whether tables in the database are well loaded and generated data are well saved into the database Usability e Evaluate the graphical user interface Documentation e Evaluate whether user manual or installation guide is well written up or not Performance e Evaluate how much time take to generate all the test data Analysis of Software Artifacts Spring 2006 Evaluation Validity B e Advantages Check referential integrity between database tables oupport auto number counting unique value generation Enable to set a range of generating values Disadvantages e Limited sets of realistic data that stored in the program database Merely generate test data in different fields Do not check the relation between the fields e Ex Street address and City State name and Zip code Analysis of Software Artifacts Spring 2006 Evaluation C
5. Open source API for intelligent mobile agents e 20 KLOC e 231 classes e SuDuelKu EJB multi player SuDuKu game e 7 KLOC e 183 classes Analysis of Software Artifacts Spring 2006 FindBugs Setup e Max effort Medium priority e Look for e Correctness e Multithreaded correctness e Performance Analysis of Software Artifacts Spring 2006 What we did B For each bug reported by FindBugs we Validated bug Measured validation time Fixed the bug Measured fix time Analysis of Software Artifacts Spring 2006 Hesults Total Bugs 47 False positives 12 Bugs 35 Average time to verify 1 5 mins Average time to fix 2 5 mins Runtime Teambots 26 seconds Runtime SuDuelKu 15 seconds Analysis of Software Artifacts Spring 2006 Lessons Learned Many bugs can be found using bug patterns Not many false positives Lots of faults not many errors Some pattern detectors are very accurate others are not Bugs found were simple to validate and fix Analysis of Software Artifacts Spring 2006 Questions Questions Analysis of Software Artifacts Spring 2006 EclipsePro Team DaVinci Christopher Nelson Luis Rios Chung Hao Shih 17 654 Analysis of Software Artifacts Analysis of Software Artifacts Spring 2006 EclipsePro bar Provides analysis of code automatic test cases and test coverage reports e Goals of the evaluation OSATE EclipseP
6. Software Artifacts Spring 2006 Non Recursive Call Graph E StringBuilder toStri amp BtreeController inse BtreeController spli Ele ee A l N x BtreeTest testHello Z Doc s we X LT Y zu P di 3 Object getClass Btree add BtreeController push Z Fa gt pt Ln p y Eo E Hi AbstractCollection a 2 btree2 BtreeNodeCmp E e E e No recursive call but introduced additional TreeNode storage Memory overhead Analysis of Software Artifacts Spring 2006 35 Call Graph Recursive ClassLoader checkPackageAcce eeController split eeNode getTop reeNode in ushin ee getBranch etc e Additional TreeNode e approx 1 5 mega bytes see red rectangle e But less call than recursive structure e It s much Faster see blue rectangle Analysis of Software Artifacts Spring 2006 Application in Studio Project e Analyze Studio Source Code with Purify e Check the memory usage and the memory leak point when handling the large data e Compare the performance with various algorithms for constructing tree traversing e Opportunities for improvement Find out memory consuming functions with call graph in Purify re code the functions and continue to analyze until the performance is satisfactory Help for making a decision of choosing an appropriate algorithm for our st
7. Street Address No script running 8 54 AM MSEAlumniDB Bg Alumni E PersonaLInformation nib ij MiddleName ti LastName t Personal Ernail i HomeStreet rg HomeStreet je HomeCity it HomeState ej HomeZipCode fej HomeCountry tj HomePhone ij CellPhone rj WebAddress 3 DateUpdated E Business Information td School_Intormation For Help press FI Analysis of Software Artifacts Spring 2006 E Field Numeric Option fa nsen random vaes e 4 Insert value from data table Insert value from an SQL database In Qugrilh metic expression C gt insert random values 46 Insert a constant value Null 0 jr Auto Number P Unique F Key Format Used for Composite Elernents and Output to Text Files Decimal Places 0 Width 0 Gt atone Analysis of Software Artifacts Spring 2006 18 How to Use DataFactory MSEAlumniDB B Alurnni2 E PersonaLInformation me ij MiddleName ej LastName i Personal Ernail i HomeStreet ig HomeStreet i HomeCity i HomeState ii HomeZipCode HomeCountry HomePhone CellPhone WebAddress jig DateUpdated 5 Business Information td School_Intormation rj Field Numeric Option sce a es pi hs ram z nt Format Used for Composite Elements and Ofiig Toc File Decimal Places D 4 HOS Y wan 0 edenda efe d Analysis of Software Artifacts Spring 2006 How to Use DataFactory Sel
8. 2006 28 How Purify Works bar e Tracking the status of memory used by program Illegal to read write or free red and blue memory Red Blue Memory Memory Legal to read and write or free if allocated by malloc Green Legal to write Memory Memory or free but illegal to read allocated but allocated but uninitialized initialized Analysis of Software Artifacts Spring 2006 Memory State in Purify B e Hed Memory e Purify labels heap and stack memory red initially e Unallocated and Freed uninitialized memory Illegal OP read write free e Not owned by the program Yellow Memory e Memory returned by new and malloc e It has been allocated but uninitialized e You can write and free if allocated by malloc e Illegal OP read Green Memory Allocated memory and written memory e You can read write and free if allocated by malloc Blue Memory e Freed initialized memory e Illegal OP read write free Analysis of Software Artifacts Spring 2006 Purify for Java bar Garbage Collector GC JVM uses garbage collection to collect unused memory automatically GC won t be automatically run until a program needs more memory than is currently available When GC is missed possibly e Resetting the reference to another object e Changing the state of an object when there is still a reference to the old state ae a reference that is pinned by a long running rea e Memory Leak e The memory garbag
9. Code jij BusinessPhone N it Salary EH StartDate jo EndDate E Schaol Information Analysis of Software Artifacts Spring 2006 How to Use DataFactory e Select Personal Information table to egrity E Field Numeric Option 3 Insert value from data table For Help press F1 Analysis of Software Artifacts Spring 2006 How to Use DataFactory e Select StudetlD field for referential key E Field Numeric B Alumni2 Personal Information Option S LE E Business Information J Insert value from data table Data table PersonalInformation e E Ho ip Code For Help press FI Analysis of Software Artifacts Spring 2006 21 How to Use DataFactory 6 o Check the conditions MSEAlumniDB B Alumni jEIENENUELEND 2 Business Information ij Schaol Information 1 Table Records IU Iv Create temporary data table Insert records directly into database Output records to a text file Name Type Size Options nig Key Null Prgability ia random from 700000000 to 800099999 Yes 0 Numeric Text Text Text Text Text Text Text Text Numeric Text Text Text Text Date Ti 4 100 100 100 100 100 100 100 100 4 100 16 table random characters No table random characters No table table table table table table table table random characters No current system date time No First Names male and
10. GameDatabyName implements Comparator but not Serializable MS ssd mse server cjb DataCollectionutil BYTES 256 isn t final but should be MS ssd mse server cjb CataCallectionUtil BYTES_5 12 isn t final but should be MS ssd mse server cjb DataCollectionUtil BYTES 1924 isn t final but should be DLS Dead store to gare in method ssd mse server ejo SaDuelKuServerBean fakeCreateGame byte byte String String nu DLS Dead store to game in method 5 d ese server ejb SuDuelXuServerBean FakeCreateGarne byte byte String String int T ject hashCodeO Analysis of Software Artifacts Spring 2006 BECL bar Byte Code Engineering Library BECL http Jakarta apache org bcel Parses Java byte code Classes are represented by objects Contain symbolic info of class Methods Fields Etc Analysis of Software Artifacts Spring 2006 FindBugs B Looks for bug patterns Acode idiom that is likely to be an error Can easily detect these with simple static analysis Framework that can do Class structure analysis Linear code scans Control sensitive analysis Dataflow analysis Analysis of Software Artifacts Spring 2006 Example Bug Patterns bar Suspicious equals comparison Equal objects must have equal hash codes Inconsistent synchronization Non serializable Serializable class Return value should be checked Analysis of Software Artifacts Spring 2006 Experiment Setup B Team Bots
11. Name of Presentation Team Simulacrum Members Ethan Urie Swaroop Choudhari Yudi Nagata Zach Mouri Saul Jaspan Project Presentation 7 17 654 Analysis of Software Artifacts E eo Analysis of Software Artifacts Spring 2006 Agenda e The Tool The Tests e The Results e Lessons Learned Analysis of Software Artifacts Spring 2006 he Tool Find Bugs e http findbugs sourceforge net e Written in Java Open source Developed by University of Maryland Does static analysis of Java classes Uses BCEL Uses Bug patterns Analysis of Software Artifacts Spring 2006 he Tool Accessible through return obj instanceof GomeDota amp amp GameData obj getNamne equal s nane Swi Ng d public String toString return getNameO public Player getCreator return creatori public String getWNare retur none we TA public List getCurPlayers return curPlayers a Ica IO l 33 public long getCrcationDote freturn crcotiantote 34 public int getNumPloyers return nusPloyers private static final long serialVersionUID i Eclipse mieten i T T T 1 a its ems 3 Javadoc Deciaration ASTView Debug Console Database Explorer Search Bug Details el 2 L in Lee S s aanne D l Q l I0 errors 7 warnings O infos Filter matched 7 of 76 items 3 SXErISHOn ll i HE ssd mse GameData defines equals and uses ObjecthashCode Se ssd mse Sort
12. an nae Aone 4 FditPlu WPracticumDBWExample WPersonal txt b BusinesslD E ue un nM Co DR CU age ren F1 21394 700000440 AVANT CO YWLYP JMIC 8728 TAK G UID ED MAC AND 32293 722858714 NEW ENGLAND BUSINESS SERVICE INC IQXEL MHC lt 9402 779810614 XLCONNECT SOLUTIONS INC TBSRK XXKK 8762 dad 2495 OMX oOo FSROEA 13758 700194480 RIVIERA HOLDINGS CORP IFJWO PSRW 1085 WO ES 22185 779990986 SOMERSET GROUPINC MNAEX YWSE 3825 UNC Student FirstName MiddieName LastName 8699 700000440 LEARNING TREE INTERNATIONALINC WPYLN UKC 700000020 ELBERT CYWL VUEPJMIC 9728 TANKER 30816 722858714 CALUMETBANCORPINC GKUDQ GTJD 320INEX n EET Klo un E Z2 EE d EditPlus D WPracticumDBWExampleVWSchool txt MER 700194480 IDA VFTF WALKERIMIYR TF BAKE SY ZAS EA zeHE ET 800 SSA 5 704084100 CORINA KESM KESSEL SXCSF x 701088414 CHANDRA WIP STILLER MORZS ten 16 d a a YH amp Hag X o c S lj E A Wii SP EST Gd 722858714 GUYEKQO GERMANQKBSD 7027 FLED ST E 1 2 1 3 1 4 1 5 1 8 7 z 779990986 HERBERT QFAL COLTERALJIDE 8700 SchoollD StudentID ProgramName GraduationYear 779810614 GRANVILLE QDXX CARMUDI XMHOR 2 21394 700009260 XNIK08 25 03 03 46 35 3 32293 700000020 RFU 10 24 05 20 03 18 4 ul 4 8402 700000440 LAI 08 06 03 18 27 24 __ Personaltxt eBusiesst eScholbt amp 0 5 13756 700194480 KTB 04 12 06 23 36 33 WB SAA Fb 38 FENN
13. des class E Chenttinput class 16 EventBus class 17 Original system system with polymorphism Analysis of Software Artifacts Spring 2006 43 Weaknesses B e C C compatibility is reliant upon creating bsc files through Microsoft s Visual Studio IDE Can only run partitioning algorithms on a single package at a time Transitive dependencies can be difficult to trace manually Conceptual Architecture model is not useful Analysis of Software Artifacts Spring 2006 44 otrengths B e Hierarchical support among packages is great for abstracting away extra information not needed at the time a LIT IE f Ge bss Tet it Se a od Pee RAR MARASR RE R CES MEST RSPR LATS S eee Oes H HH LESE HREB ARE Analysis of Software Artifacts Spring 2006 Strengths e Tool is fast and seems to scale well Project Category Project Name SLOC Mid sized 369 Large complex Crystal2 4244 ParkNPark 6466 DSM for ParkNPark a 6466 SLOC project Analysis of Software Artifacts Spring 2006 otrengths bar You can cross check a project against its test files as another method to ensure all classes are being tested Ipsolve55 C Documents and Settings CD JUAy Docum LpSolveTest is a set of unit tests it never uses BbListener indicating a possible hole in the test suite
14. e occupied by the object that would not be referred any more e More and more becomes big one HELP ME Purify Analysis of Software Artifacts Spring 2006 otudio Project bar Navigation Data Production Process POI Create and cleansing Convert POI DB to Car navigatior gt 4 N Telephone Book POI cleansing Potere Data Format Conversion r for Navigation P Rte POI DB file Police Database for Ts Car Navigator eC E Our M A Design Implement converter converting POI DB to navigation data Tree Structured Index File e For fast search not using DBMS e For manipulate large amount of POI Data in disk media e ree algorithm is necessary Analysis of Software Artifacts Spring 2006 How to Apply Purify bar e Run different B tree source code Choose better one in terms of performance e See the overall memory memory profile execution speed Tweak the performance e Compare Memory Execution speed before and after Analysis of Software Artifacts Spring 2006 Source Introduction e Source A e Put elements one by one Source B e Put elements in Vector form Different insert way to put element into tree Analysis of Software Artifacts Spring 2006 31 Assumption amp Criteria B e Assumption e Source A and B provides same functionali
15. ect C Documents and Settings CDI Mly Documents Analysis Mini Project A2 dz C Documents and Settings CDI My Documents yMnalysisyMini Projectipsolve55 ldz C Documents and Settings CDI My Documents Analysis Mini Project A 3 ldz 2 In this example we are dealing with a Java project so select that option Analysis of Software Artifacts Spring 2006 40 A3 Analysis Example H Create Project Wizard i I f if C Documents and Settings 78 KBS i i ical Plans for World D j nnum i 3 i 3 Select the jar file in this case but the class files would have worked just as well Hit Finish Analysis of Software Artifacts Spring 2006 A3 Analysis Example Te Freer Be ELT E rea 0 os A a E aaas g DSM Partitioning la ber le d uta a4 HP Ie Sa LA 4 The initial diagram presented for A3 Select all of the rows and push the DSM Partitioning button on the toolbar to rearrange the diagram Analysis of Software Artifacts Spring 2006 41 A3 Analysis Example AARRE eje z i g r z 1 n E EventBus D u 5 The tool rearranges the DSM diagram into a lower block triangular form The dark outline boxes identify logical subsystems withi
16. female field No Last Names field Last Name No 3 Street Address field Street Address No City State County Zip Area Code Fi No City State County Zip Area Code Fl No City State County Zip Area Code Fi No City State County Zip Area Code Fl No Countries field Country No Phone Number with Area Code field No Phone Number with Area Code field No ooovoccococcccoec a No script running Analysis of Software Artifacts Spring 2006 How to Use DataFactory o Result b DataFactory Personaltnformation C Business Information i Schaol Information xecuting scrip Alum Loading table Personal Infort Loading table Business Information Loading table School Information ig Data Source F Auto Delete included tables before running project Connection Information The script MSEAlumniDB has completed successfully Elapsed Time 00 00 02 The script MSEAlumniDB has completed successfully Elapsed Time 00 00 02 Analysis of Software Artifacts Spring 2006 22 How to Use DataFactory New test files De ae Siw sag sam S P Q OQ fF papm m 44D D D WPracticumDBWExample Eos Analysis of Software Artifacts Spring 2006 How to Use DataFactory ditPlus WPracticumDBWExamplelIWBusine t ml e Result Files Ln LEE Bis cll PRI 3 Gee belo SOX oe FekGet AM Ene ua WE 4 4 9 gt Suh Sao S
17. ion Information Page Enter the information needed to establish a connection with the database Bi oc comei 948 Analysis of Software Artifacts Spring 2006 16 How to Use DataFactory e Select tables Fetch Dependent Tables Analysis of Software Artifacts Spring 2006 How to Use DataFactory bar o After connection E ation 4 Business Inforrnation i Schaol Information For Help press Fl Analysis of Software Artifacts Spring 2006 17 How to Use DataFactory e Check the Create Temporary Data Table for data integrity MSEAlumniDB BE Alumni gt B F StudentiD FirstNarne i MiddleName a LastName i Personal Email ij HomeStreet ij HomeStreet2 iij HomeCity ij HomeState ej HomeZipCode ie HomeCountry HomePhone i CellPhone i WebAddress E DateUpdated E Business Information 4 Schaol Information fV Create temporary data table Insert records directly into database Output records to a text file File D WPracticumDBWE xample fWPersonal txt Field Terminator Tab Record Terminator Carriage return and Newline Enclose Text lt none gt Enclose Dates lt none gt Include field names on first line Options random from 700000000 to 800099999 table First Names male and female field random characters table Last Names field Last Name random characters table Street Address field
18. n bar Practicum Project e The team is going on a practicum project Re engineering of MSE and MSIT SE Alumni Database Purpose e Need to use test data for the practicum project Expectation e By using atest data generator tool the team will be able to get useful test cases and test database redesigned Approach Make evaluation criteria Redesign tables in the database Make a connection between the tool and the database Execute the tool using the inputted tables Evaluate the tool according to the criteria Analysis of Software Artifacts Spring 2006 What is DataFactory bar A test generator tool developed by Quest Software Load a schema from database Display database tables and fields Produce meaningful test data Write the test data to output files or save into the database Fast and easy way to generate test cases Analysis of Software Artifacts Spring 2006 How to Use DataFactory Table Relationship Business_Infarmation Personal Information Analysis of Software Artifacts Spring 2006 How to Use DataFactory o Make new connection with database Included Databases LJ For Help press FI Analysis of Software Artifacts Spring 2006 15 How to Use DataFactory e Select connection type Connection Method Selection Page Select the connection method for the desired Database Analysis of Software Artifacts Spring 2006 How to Use DataFactory e Select ODBC Connect
19. n the project Analysis of Software Artifacts Spring 2006 Weaknesses Only syntactic dependencies E are identified too T ETHTSETS E ETE TS I E DoTs E aim FE EE i lela e Ju In the A3 case there are semantic dependencies among rows 2 9 but the tool loses track of them when the CommandEventHandler and EventBus classes allow an indirect communication method z i 3 iii EventBus Event Analysis of Software Artifacts Spring 2006 42 Weaknesses e Polymorphism was injected into A3 in the following fashion ListAllStudentsHandler objCommandEventHandlerl CommandEventHandler ob jCommand EventHandlerl new ListAllStudentsHandler new ListAllStudentsHandler db db new new EventBus EV LIST ALL STUDENTS EventBus EV LIST ALL STUDENTS EventBus EV SHOW EventBus EV SHOW Original Code Code with Polymorphism Injected Code is functionally identical but Analysis of Software Artifacts Spring 2006 Weaknesses e Lattix LDM identities different dependencies with and without polymorphism ListAliCoursesHancdie class i ListAlStudentsHander class 2 ListCoursesCormpletediHandie class 3 ListStudentsRegisteredHandler class 5 t RegisterStudentHancierclass 7 Regist aboncConfhc tsHancher class E StudentBling Hanc
20. ompatibility bar e Advantages e Enable to direct access various DBMS and ODBC compliant database e Ex Oracle DB2 SQL server and Sybase Disadvantages Incomplete compatibility with ODBC compliant database Error occurs when test data are saved Do not copper all the major DBMS Ex DataFactory does not support direct access to FEM aor so it should pass through ODBC Once tables are loaded from database relations of the tables in the database are not maintained Additional setting up is required Analysis of Software Artifacts Spring 2006 Evaluation Usability B e Advantages Provide simple and plain graphical user interface Provide Children View Easy to recognize which field attributes are set up Disadvantages Do not have its own viewer to display outputs e Hard to read output data Should set up additional items for checking referential integrity Do not know the relationships between tables Should have database and DBMS to run the system Impossible to simply generate test data without database Analysis of Software Artifacts Spring 2006 25 Evaluation Documentation bar Definitely insufficient documentation Very limited resources Advantages e Provide simple tutorials Disadvantages There is no official documentation e Do not provide installation guide e Do not provide user manual Hard to know system functionalities or how to use e Do not provide error lists or exception list
21. ro Potential Bugs Automatic Tests Cases Code Base Analysis Prototype Unit Tests Analysis of Software Artifacts Spring 2006 EclipsePro Analysis Looking into Performance Issue Detected Append string instead of char Concatenation in appending method 2 Initial capacity for collections 22 Method invocation in loop condition 10 Variable declared within loop Analysis of Software Artifacts Spring 2006 EclipsePro Analysis Looking into Maintainability Exceeded length of methods Empty methods Exceptions with no logging 10 String literals Unused methods Analysis of Software Artifacts Spring 2006 EclipsePro Analysis e Benefits Configurable rules for detecting issues Processing time is good Integrates in one tool Analysis of Source Code Generation of Unit Tests e Analysis of Code Coverage e Metrics of Source Code Analysis of Software Artifacts Spring 2006 EclipsePro Analysis bar e Drawbacks False positives for unused fields Do not detect that some variables must be declared as constants Constant conditional expressions such as while true are always reported Hiding inherited fields does not allow to ignore special fields such as copyright notices Analysis of Software Artifacts Spring 2006 EclipsePro Test Cases Test Environment OSATE Libraries EclipsePro Prototype e ComponentPortGroupCandidateSwitch java ConnectionPortGroupCandidateSwi
22. s Analysis of Software Artifacts Spring 2006 Evaluation Performance B Measured by elapsed time Performance would be lowered if the number of tables in the database are increase and the number of fields are increased Analysis of Software Artifacts Spring 2006 Future Improvements ba Make an official documentation e Need to make user manual Support direct access to more DBMS e Should be compatible with FileMaker Pro v 8 0 Update graphical user interface e Hard to recognize current output results Should be a standalone application that does not require database Improve the validity of the generated data Analysis of Software Artifacts Spring 2006 Analysis Application of Purify Utilization of Purify in the Navigation Data Converter Application Pathfinder Jihye Eom Wangbong Lee Youngseok Oh Project Presentation 17 654 Analysis of Software Artifacts DS Analysis of Software Artifacts Spring 2006 Contents Purify How Purify Works Memory State in Purify Purify for Java Project Introduction How to Apply Purify Application work Benefit amp Drawback of Purify Analysis of Software Artifacts Spring 2006 Purify e IBM Rational Purity Automatic error detection tool Finding runtime errors Finding memory leak e Working Environments e OS e Windows Linux Unix e Language support C C Java C VB NET in Windows Analysis of Software Artifacts Spring
23. s to restructure diagram and identify logical subsystems Usable with Java and C C projects Analysis of Software Artifacts Spring 2006 Version of Tool ber e We evaluated the Community Version of the tool e As compared to the Full Version the Community Version Does not allow design rules to be specified e Does not enforce dependency constraints between different versions of a project Does not expire Is FREEEEE Analysis of Software Artifacts Spring 2006 Quantitative Data e Manually identified syntactic dependencies and then compared results to dependencies identified by tool Project Category Project Name i Mid sized Al A2 A3 Dependency Measurements Identified Correctly Failed to Identify Extraneously Identified Identified Correctly Failed to Identify Extraneously Identified Identified Correctly Failed to Identify Extraneously Identified Identified Correctly Failed to Identify Extraneously Identified Ipsolve Identified Correctly Failed to Identify Extraneously Identified Analysis of Software Artifacts Spring 2006 Case Study A3 Project Description bar e Student scheduling application implemented for Architecture class Uses Implicit Invocation architectural Style Components interact with each other by placing events onto an event bus and registering to receive events Analysis of Software Artifacts Spring 2006 A3 Analysis Example 1 Create a New Proj
24. tch java PlugindemoPlugin java PortGroupCandidate java CheckPortGroupCandidate java Analysis of Software Artifacts Spring 2006 EclipsePro Test Cases bar Test Coverage Report Coverage trom the automatically generated unit test for the code Piet i Bis er Analysis of Software Artifacts Spring 2006 EclipsePro Test Cases Benefits Generate the framework for unit tests Generate the basic test methods Generate regression test cases Provide mechanism for human recheck Check valid and invalid parameters for each method call Generate comments Provide test coverage report Easy to use Save time with automatic test generation Analysis of Software Artifacts Spring 2006 11 EclipsePro Test Cases bar e Drawbacks e Do not work with interfaces Miss libraries from original source code Miss other basic unit test scenarios Have low test coverage Still need human interaction Analysis of Software Artifacts Spring 2006 EclipsePro e Questions Analysis of Software Artifacts Spring 2006 Evaluation of DataFactory v5 5 RAD Team IL SEOK SUH HEEJOON JUNG Project Presentation 17 654 Analysis of Software Artifacts Analysis of Software Artifacts Spring 2006 Table of Contents Introduction What is DataFactory How to Use DataFactory Evaluation Criteria Evaluation Future Improvements Conclusion Analysis of Software Artifacts Spring 2006 Introductio
25. ties e g B tree insert sort etc e Same number of inputs 100 000 keys e Criteria e Compare memory and execution speed in rum time Analysis of Software Artifacts Spring 2006 oource A Memory Profile bar Status Exited Elapsed Time 00 01 23 Yellow Circle Garbage Collection Memory consumption gradually increasing ends with 12 mega bytes Execution time 1min23sec Including Purify overhead Analysis of Software Artifacts Spring 2006 32 oource B Memory Profile B Status Exited Elapsed Time 00 00 50 Yellow Circle Garbage Collection Memory consumption gradually increasing e But not as high as Source A ends with 8 4 mega bytes Execution time 50sec Including Purify overhead Analysis of Software Artifacts Spring 2006 Why Source B B e Memory e Source A Allocates more memory gradually by e Source B Allocates most of memory when input keys are added into tree however less memory Execution time e Purify shows elapsed time including its overhead Not true e Without Purify both have nearly same execution time Source B is slightly fast though However we would like to modify source B for better performance Analysis of Software Artifacts Spring 2006 33 oource B Call Graph BtreeController spli 2 i a n BtreeNode pushini eTest testHelld as 7 BtreeNode getBranch i 4 J 5
26. udio project Coordinate the concurrent process Measure the peak memory and avoid the peak memory usage with each other in concurrent process Help to determine the minimum requirement resource to run the application Analysis of Software Artifacts Spring 2006 36 Benefit amp Drawback of Purify bar e Benefits e Clear overview of memory consumption in runtime e Number of call and allocated memory in each class e Drawback e Purify can not detect memory access in Stack User have to see the function detail and calculate No mention in the manual though System resource to run Purify Needs huge amount of memory Irregular elapsed time not proportional to execution speed Analysis of Software Artifacts Spring 2006 Lattix LDM Tool Evaluation Team OverHEAD Karim Jamal amp Clinton Jenkins Tool Evaluation Project Presentation 17 654 Analysis of Software Artifacts DS F a Analysis of Software Artifacts Spring 2006 37 Outline bar Lattix LDM Tool Description Version of Tool Quantitative Data Case Study A3 Project Description A3 Analysis Example Weaknesses Strengths Lessons Learned Questions Analysis of Software Artifacts Spring 2006 Lattix LDM Tool Description W LATTIX Software Quality depends on the Architecture Esili Eriu Lightweight Dependency Modeler LDM Displays dependencies in a Design Structure Matrix DSM diagram Uses DSM partitioning algorithm
Download Pdf Manuals
Related Search
Related Contents
M-2293B-APPLICATION GUIDE - Beckwith Electric Co., Inc. Popular Engagement Engine Rules R&Pルームミラー用ブラケットA型取扱説明書 User Manual Kieker 1.11 User Guide Supporting Document SERVICE MANUAL 取扱説明書 313918B - Supply Units, Repair, Spanish Copyright © All rights reserved.
Failed to retrieve file