Software Tag Empirical Software Engineering Data for Traceability
Software Tag: Empirical Software Engineering Data for Traceability and Transparency of Software Project Katsuro Inoue Osaka University 1 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Background • Empirical Software Engineering (ESE) – Emerging topics in Software Engineering – It is very important resource for the accountability and traceability in global software engineering Data Collection Data Analysis Feedback 2 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Who gets benefit from ESE? • Current ESE mostly focus on the benefit of software developers Code clone detection Component Metrics search (SPARS) measurement Logical Coupling Collaborative filtering Product data archive (CVS format) Process data archive (XML format) Developers Interface GUI Manager s Format Translator Versioning (CVS) Format Translator Mailing Issue tracking (Mailman) (GNATS) Project x Project y Project z . . . Format Translator Other tool data Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 3
Extend the Benefit • Extend the benefit of ESE to software purchasers (orderers, customers, users) • Purchasers get the empirical data • They can analyze and evaluate the empirical data • They can understand that software development was performed under proper activities and quality of the resulting products is high 4 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software Tag • Empirical data for software purchasers • Delivered associated with software products • Not raw or full empirical data – Processed and selected data • Ease to understand evaluate – Development process – Product quality 5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Empirical SE Model Purchase order Development data record Delivery Software developer Software purchaser Software products Data collection Feedback Empirical data 6 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software Tag Model Purchase order Development data record Delivery Software developer Software purchaser Software Products Feedback Data collection Attach Extract Tag Software Tag Empirical data 7 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Example Structure of Software Tag • Development process – – – Requirement progress and changes Design progress and review history Code progress and changes Performed test cases … – – Detected faults and their history Results of static code analysis Code clone distribution … • Product quality 8 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Supporting Empirical Data In the case of controversy between purchaser and developer: • Validity and interpretation of the software tag will be argued • Tag data need to be endorsed by the collected raw empirical data (source code repositories, review reports, …) • The raw empirical data contains a lot of development know-how and proprietary information for the developer – It cannot be delivered to the purchaser directly • Neutral mediator (Software Liability Mediator) is needed. The mediator investigates both the tag and raw empirical data, and resolves liability issues 9 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software Liability Mediator Purchase order Development data record Delivery Software developer Software purchaser Software Products Attach Software Tag Data collection Feedback Extract Tag Empirical data Investigation Software liability mediator Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 10
Merits of Software Tag Even for Developers • Provide evidence for proper development activities and quality • Software developers are generally purchasers of software Order Sub-sub 二次請け 発注 Order Sub 一次請け contractor 二次請け contractor ソフトウェア 製品 Sub-sub 二次請け contractor (海外) Order Principal 元請会社 contractor 発注者 Developer 発注者 ソフトウェア 製品 オープンタグ 可視化された エンピリカルデータ Product & Tag 可視化された エンピリカルデータ Product & Tag ソフトウェア 製品 オープンタグ 可視化された エンピリカルデータ Sub 一次請け contractor Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 11
Stage Project Goal • Standardize software tag • Disseminate the idea and the standard of software tag • Develop various support tool for creating and validating tags • Open Software traceability center: – Keep raw empirical data – Evaluate tag and empirical data • Establish Asia-Australia research initiative which promote the idea of software tag • Raise advanced software engineers and software liability mediators 12 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Thanks for your comments! 13 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
- Slides: 13