Mega Software Engineering and EASE Project International Workshop

  • Slides: 46
Download presentation
Mega Software Engineering and EASE Project International Workshop on Community-Driven Evolution of Knowledge Artifacts

Mega Software Engineering and EASE Project International Workshop on Community-Driven Evolution of Knowledge Artifacts UC Irvine, Dec. 16 -18, 2003 Katsuro Inoue Osaka University Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Overview • Proposed a concept of Mega Software Engineering, which shares experiences and knowledge

Overview • Proposed a concept of Mega Software Engineering, which shares experiences and knowledge in community • Introduced EASE project based on the concept of MSE • Presented the overview of Empirical Environment and showed current implementation of Empirical Project Monitor EMP, as a partial realization of Empirical Environment • Predicted ongoing directions to deeper analyses of empirical data Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Empirical Software Engineering • Various technologies in Software Engineering based on empirical data •

Empirical Software Engineering • Various technologies in Software Engineering based on empirical data • Essential for scientific improvement of project processes and products Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

3 Major Phases in Empirical SE collection analysis improvement Software Engineering Laboratory, Department of

3 Major Phases in Empirical SE collection analysis improvement Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Classification of ESE Technologies by Target Scale Mega Software Engineering

Classification of ESE Technologies by Target Scale Mega Software Engineering

Mega Software Engineering MSE • Targets many projects • A new concept but not

Mega Software Engineering MSE • Targets many projects • A new concept but not a new technology itself • Collection of key technologies already existing and emerging • • • Distributed environment and data sharing Analysis and data mining Project monitoring and controlling Scalable computing. . . • Use advances of hardware performance, e. g. , network bandwidth, CPU clock, memory space, disk capacity, . . . – Software engineering technology should share in advances of hardware, which is mainly used for multimedia, grid, simulator, . . . Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Characteristics of MSE • Experience and knowledge of individual developer or project are collected,

Characteristics of MSE • Experience and knowledge of individual developer or project are collected, refined as assets, and reused in community • Single-level flat static community for information sharing • Automatic process : Little burden is required for each developer or manager • View from the organizational benefits may be directly obtained (no individual developer’s view or project view) • Open source development is a simple case of MSE (MSE focuses analysis and feedback) Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

EASE Project • Empirical Approach to Software Engineering • Using the concept of MSE

EASE Project • Empirical Approach to Software Engineering • Using the concept of MSE as its basis • Funded by MEXT (Japanese government, Ministry of Education, Culture, Sports, Science and Technology) • 5 year project starting 2003 Senri Lab. Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Project Target Empirical software development environment from 1 to thousands of projects Empirical Environment

Project Target Empirical software development environment from 1 to thousands of projects Empirical Environment Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Project Objectives 1. Development of empirical environment 2. Application of empirical environment to real

Project Objectives 1. Development of empirical environment 2. Application of empirical environment to real projects 3. Collection of data and expertise of empirical SE 4. Organizational benefits by applying empirical environment Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Concept of Empirical Environment     Analysis Collection          Internet Public Domain

Concept of Empirical Environment     Analysis Collection          Internet Public Domain Software Open Source Project Improvement Related Organization Software Development Organization Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Implementing Empirical Environment Software Engineering Laboratory, Department of Computer Science, Graduate School of Information

Implementing Empirical Environment Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

(1)Policy for Collection • Goal first (ideal cases)   → Data collection first (Realistic approach) • Collect mainly

(1)Policy for Collection • Goal first (ideal cases)   → Data collection first (Realistic approach) • Collect mainly product data(Obtain process data from product data) • Minimize developers overhead for collection • Raw data without human tampering • Real-time collection • Applicable to various projects – Small scale – Non-water fall process such as XP – Distributed development including sub-contracting Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

(2)Policy for Analysis Step-wise implementation difficult 5. … 4.Reuse comp. / expertise 3.Classification and evolution

(2)Policy for Analysis Step-wise implementation difficult 5. … 4.Reuse comp. / expertise 3.Classification and evolution 2.Inter-project metrics simple 1.Process / product metrics inside single project Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

(3)Policy for Improvement • Feedback method for each objective – Various mechanisms for various

(3)Policy for Improvement • Feedback method for each objective – Various mechanisms for various cases Currently construct a browser for visualizing collected data and measured metrics Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Empirical Project Monitor EPM • A partial implementation of Empirical Environment • Collect, measure, and

Empirical Project Monitor EPM • A partial implementation of Empirical Environment • Collect, measure, and show various data for project control • Data source – Versioning system CVS – Mailing list manager Mailman – Issue tracking tool GNATS Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Architecture of EPM analysis tools developer manager measurement of intra and inter projects Postgre.

Architecture of EPM analysis tools developer manager measurement of intra and inter projects Postgre. SQL(Repository) Standardized empirical SE data (in XML) developer manager versioning history mail history problem history prediction/ schedule metrics value other tool data etc. CVS, Mailman, GNATS, (Win. CVS, Corporate. Source) Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Characteristics of EPM • Use open source development tools    →  Easy to introduce • Small

Characteristics of EPM • Use open source development tools    →  Easy to introduce • Small overhead of data collection – Most data from versioning history – Communication through e-mail, and recoding issues by tracking tool • Easy to transform other data format to the standardized empirical SE data format Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Application Area of EPM • Large project – Share project status immediately – Reduce

Application Area of EPM • Large project – Share project status immediately – Reduce project management load – Reduce risk for tampering data • Small project – Apply with small cost – Apply to various projects, including XP and distributed development Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Features of Empirical Project Monitor Software Engineering Laboratory, Department of Computer Science, Graduate School

Features of Empirical Project Monitor Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

EPM Analysis Tool • Single activity view – Source code size – Issue resolution

EPM Analysis Tool • Single activity view – Source code size – Issue resolution time – Cumulative number of issue, number of unsolved problems, . . . • Multiple activity view – Check-in and check-out – #Issue and #mail – check-in and #issue Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Growth of LOC • Progress monitoring • Schedule v. s. actual menu Project: Empiri.

Growth of LOC • Progress monitoring • Schedule v. s. actual menu Project: Empiri. Prj LOC Cumulative LOC Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University month

Growth of LOC(3 months) LOC Project: Empiri. Prj LOC Check-in occurred month

Growth of LOC(3 months) LOC Project: Empiri. Prj LOC Check-in occurred month

Growth of LOC Open source project nkf (character-code converter) LOC Check-in occurred month

Growth of LOC Open source project nkf (character-code converter) LOC Check-in occurred month

Cumulative Issues/Unsolved Issues /Mean Resolution Time cumulative issues Project: Empiri. Prj mean resolution days

Cumulative Issues/Unsolved Issues /Mean Resolution Time cumulative issues Project: Empiri. Prj mean resolution days cumulative issues unsolved issues mean resolution days Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University month

Check-in and Check-out # check-out Project: Empiri. Prj # check-out Check-in occurred Software Engineering

Check-in and Check-out # check-out Project: Empiri. Prj # check-out Check-in occurred Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University month

CVS Log View Software Engineering Laboratory, Department of Computer Science, Graduate School of Information

CVS Log View Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Growth of Mail and Issues cumulative # mail Project: Empiri. Prj cumulative # mail

Growth of Mail and Issues cumulative # mail Project: Empiri. Prj cumulative # mail check-in occurred issue raised issue resolved Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University month

Mail Log View Software Engineering Laboratory, Department of Computer Science, Graduate School of Information

Mail Log View Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Cumulative Issues and Check-in cumulative # issues Project: Empiri. Prj cumulative issues check-in occurred

Cumulative Issues and Check-in cumulative # issues Project: Empiri. Prj cumulative issues check-in occurred Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University month

Future of Empirical Environment Software Engineering Laboratory, Department of Computer Science, Graduate School of

Future of Empirical Environment Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Extending Analysis Features • Make deeper analysis and extract organizational expertise • Find and

Extending Analysis Features • Make deeper analysis and extract organizational expertise • Find and reuse expertise easily Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Code clone detection Component search Metrics measurement Product data archive (CVS format) Process data

Code clone detection Component search Metrics measurement Product data archive (CVS format) Process data archive (XML format) Format Translator Managers Corporate Source Developers GUI Project categorization Versioning (CVS) Format Translator Mailing (Mailman) Project x Project y Project z . . . Format Translator Issue tracking (GNATS) Cooperative filtering EPM(developing) Format Translator Other tool data

Example Scenario (1) Scheduled progress of project X 1 Actual progress of project X

Example Scenario (1) Scheduled progress of project X 1 Actual progress of project X 2 E W A X Y P Find projects similar to X - Project categorization - Collaborative filtering C T Q V Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Example Scenario (2) 3 Average reuse rate in similar projects Project X’s reuse rate

Example Scenario (2) 3 Average reuse rate in similar projects Project X’s reuse rate - Code-clone detection 4 Promote using software asset search engine to project X - Software asset search engine Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Expected Effect • Productivity can be drastically improved by reusing organizational assets • Management

Expected Effect • Productivity can be drastically improved by reusing organizational assets • Management of assets can be easily performed • Cost control can be precisely made relative to previous similar projects • Reliability can be improved using issue history Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Analysis Technology (1)   Fast Code Clone Detection  Code clones = similar portions of

Analysis Technology (1)   Fast Code Clone Detection  Code clones = similar portions of program Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Analysis Technology (2)  System Similarity Using Code-Clone Detecion Software Engineering Laboratory, Department of Computer

Analysis Technology (2)  System Similarity Using Code-Clone Detecion Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Analysis Technology (3) Collaborative Filtering Focused Represen. Outcome Q&M Collaborative tative Adopted Resources App.

Analysis Technology (3) Collaborative Filtering Focused Represen. Outcome Q&M Collaborative tative Adopted Resources App. A 9 9 9 7 7. 5 (target) App. B 8 7 8 ? (missing) 8 App. C ? (missing) 8 8 8 7 App. D 7 6 ? (missing) 9 6 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Analysis Technology(4) Java Class Search Engine SPARS-J Software Engineering Laboratory, Department of Computer Science,

Analysis Technology(4) Java Class Search Engine SPARS-J Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Markov Model 0. 02 0. 01 0. 05 0. 03 0. 001 0. 1

Markov Model 0. 02 0. 01 0. 05 0. 03 0. 001 0. 1 • Component rank model can be considered as a Markov Chain of user's focus • User's focus moves from one component to another along a use relation at a fixed time duration • Node weight represents the existence probability of the user's focus at infinite future Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Demo of SPARS-J http: //demo. spars. info Software Engineering Laboratory, Department of Computer Science,

Demo of SPARS-J http: //demo. spars. info Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Current Status and Schedule • Current - Demo version of EPM • First quarter

Current Status and Schedule • Current - Demo version of EPM • First quarter of 2004 a release of EPM • First quarter of 2005 Application of EPM in industry • End of 2005 Inclusion of analysis tools • User group, consortium, interest group, . . . Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University

Summary • Proposed a concept of Mega Software Engineering, which shares experiences and knowledge

Summary • Proposed a concept of Mega Software Engineering, which shares experiences and knowledge in community • Introduced EASE project based on the concept of MSE • Presented the overview of Empirical Environment and showed current implementation of Empirical Project Monitor EMP, as a partial realization of Empirical Environment • Predicted ongoing directions to deeper analyses of empirical data Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University