Software Tag: Empirical Software Engineering Datafor Traceability and Transparency of Software Project
Katsuro Inoue
Department of Computer Science,
Graduate School of Information Science and Technology, Osaka University
Inoue@ist.osaka-u.ac.jp
Abstract
In this paper, we propose a scheme, named
Software Tag, of software trade and development forimprovement of traceability and transparency.
Empirical data is collected during development, andprocessed into two types, open tag and secret tag,composing a software tag which is finally delivered tosoftware purchaser.

1. Introduction
Software systems are becoming indispensable
infrastructure, and failures of software systems cause
serious damage to our everyday life. Empirical
Software Engineering is an area of Software
Engineering researches and practices, in whichempirical data on the software development arecollected and evaluated to get a feedback and to
improve efficiency and quality of the project. Using
the notion of empirical software engineering, we aregoing to construct a framework of Software Tag which
is a package of information of software development
and software products.
In this paper, we will explore the notion of software
tag, and propose a framework of the software tag
where software purchasers can measure and evaluate
quality of software product and development process.

2. Overview of Software Tag
Figure 1 shows an overview of the concept ofsoftware tag. A software tag is a collection ofempirical data and their abstracted data. It is mainlycomposed of "open tag" and "secret tag".
The open tag contains the data directly presented tothe software purchaser. The software purchaser canevaluate the data, and know the quality of the processand product.
The secret tag mainly contains raw empirical data
which is proprietary to the software developers. It maycontain development secrete and/or know-how;therefore, the data is encrypted not to be seen by manyother people. The decryption key would be kept at thedeveloper side until a controversy arises between thesoftware purchaser and developer.

2. Usecase of Software Tag
A scenario of using the software tag is summarized
as follows.
1. A software purchaser orders development of asoftware system. The purchaser requires not only thefinal products, but also a software tag.
2. The software developer agrees with this contract.
3. Software developer starts developing software
product. During development, various kinds ofempirical data are collected. Requirement documents,
software design documents, source code, test cases,
issue tracing logs, manual documents, review logs,
quality analysis recodes, are examples of such
empirical data. Not only the final status of those dataat the end of the project, but also periodical
snapshots of those data during development arecollected and archived as the process and progress
data of the project.
4. Some of the collected data are selected andtransformed into the open tag, so that the softwarepurchaser can easily understand and evaluate theproject quality. Also, by this transformation,proprietary development know-how is eliminated.
5. Most of the archived empirical data are encrypted as
the secret tag.
6. By merging the open tag and secret tag, a software
tag is composed. This software tag is delivered to thesoftware purchaser associated with the final software
product. Also the secret tag is kept at a software
liability mediation center where the controversy ofsoftware product quality is resolved in case.

7. The software purchaser evaluates the achievementof the software developer by viewing the open tag,and accepts the delivered software product.

on subjective empirical data in the software tag willlead the society more healthy way.
The scheme is very useful for offshore and global
development in the sense that the traceability andtransparency of software development are establishedwith fairly low overhead of the developers.

8. When a controversy such as quality issue of theproduct happens between the software purchaser anddeveloper, the secret tag kept at the software liability
mediation center is decrypted, and the original
empirical data is restored. By analyzing the empirical
data, resolution of the issue is explored. Also
correctness of the open tag is validated.

5. Conclusion
We have proposed notion of software tag, andshowed the overview of trade framework using thesoftware tag. Now we are going to define the schemeof software tag in a more rigorous way, together withvarious industrial collaborators of both softwarepurchaser and developer sides. Also, tools to support
empirical data collection, analysis, and abstraction areunder designing.

4. Applications of Software Tag
Software tag is a key vehicle to improve "visibility"and "transparency" of software project. This is very
useful both for the software purchaser and the softwaredeveloper.
By software tag, the software purchaser can identify
and understand the development process which was
mostly secret to the developer. The purchaser canevaluate the quality of the processes and also products.
For the software developer, software tag is used toprove their proper activities in the software project.
Also, it is used for tracing the quality of the activities
of sub-contractors.
Standardizing software tags will help to improve
trade custom of software development contract.
Evaluation of the software products and project based

Acknowledgement
This work is being conducted as a part of Stage Project,
the Development of Next Generation IT Infrastructure,
supported by Ministry of Education, Culture, Sports,
Science and Technology. This work is the result ofdiscussions with Koji Torii, Kenichi Matsumoto,Hajimu Iida, Shinji Kusumoto, Shuji Morisaki, andmany other project members.

Purchase order
Development data record
Delivery and acceptance test

Software Developer
Software Purchaser

AttachCooperation

SoftwareProducts

オープンタグOpen tag
可視化された

Visible Data
Empirical Data

エンピリカルデータ

SoftwaretraceabilitycenterDepositionCooperation
empirical data analyst

Software liability
mediation, arbitration,and negotiation

Verification

開発データからGenerate
software tag
ソフトウェアタグを生成
fromdevelopmentrecord

シークレットタグ
Secret tag
未加工のUnprocessed
エンピリカルデータ
Empirical Data

Fig. 1 Overview of Software Tag Scheme