Mega Software Engineering and EASE Project International Workshop














































- Slides: 46
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 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 • 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 Computer Science, Graduate School of Information Science and Technology, Osaka University
Classification of ESE Technologies by Target Scale Mega Software Engineering
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, 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 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 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 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 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 Science and Technology, Osaka University
(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.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 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 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. 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 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 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 of Information Science and Technology, Osaka University
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. 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 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 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 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 Science and Technology, Osaka University
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 Science and Technology, Osaka University
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 Information Science and Technology, Osaka University
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 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 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 - 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 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 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 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. 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, Graduate School of Information Science and Technology, Osaka University
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, Graduate School of Information Science and Technology, Osaka University
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 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














































