著者
Takehiro Wakabayashi Shuji Morisaki Norimitsu Kasai Noritoshi Atsumi Shuichiro Yamamoto
出版者
Information Processing Society of Japan
雑誌
Journal of Information Processing (ISSN:18826652)
巻号頁・発行日
vol.28, pp.136-149, 2020 (Released:2020-02-15)
参考文献数
26

This article proposes a tool supported approach to detect omitted requirements that are not implemented in a corresponding architectural design document using difference sets of words or word senses between a software requirements specification document and a software architectural design document. First, the proposed approach extracts sets of single-words, multi-words, and word senses that appear in a requirements specification document but do not appear in the corresponding design document using a natural language processing tool. Then, an architectural design document inspector validates whether each of the specified document with the single-words, multi-words, or word senses are implemented in the corresponding architectural design document using the sets as guides. Evaluation 1 investigated whether omitted requirements can be detected in design documents using the proposed approach. Evaluation 2 investigated the numbers of words that inspectors need to check for the proposed approach. The result of Evaluation 1 shows that omitted requirements are detected in all three pairs for real requirements specification documents and design documents. The result of Evaluation 2 shows that the numbers of words in the difference sets to those in the requirements specification documents vary from 18 to 83 % for the nine pairs of requirements specification documents and design documents.
著者
Kunihiro NODA Takashi KOBAYASHI Noritoshi ATSUMI
出版者
The Institute of Electronics, Information and Communication Engineers
雑誌
IEICE Transactions on Information and Systems (ISSN:09168532)
巻号頁・発行日
vol.E101.D, no.7, pp.1751-1765, 2018-07-01 (Released:2018-07-01)
参考文献数
38
被引用文献数
4

Behaviors of an object-oriented system can be visualized as reverse-engineered sequence diagrams from execution traces. This approach is a valuable tool for program comprehension tasks. However, owing to the massiveness of information contained in an execution trace, a reverse-engineered sequence diagram is often afflicted by a scalability issue. To address this issue, many trace summarization techniques have been proposed. Most of the previous techniques focused on reducing the vertical size of the diagram. To cope with the scalability issue, decreasing the horizontal size of the diagram is also very important. Nonetheless, few studies have addressed this point; thus, there is a lot of needs for further development of horizontal summarization techniques. We present in this paper a method for identifying core objects for trace summarization by analyzing reference relations and dynamic properties. Visualizing only interactions related to core objects, we can obtain a horizontally compactified reverse-engineered sequence diagram that contains system's key behaviors. To identify core objects, first, we detect and eliminate temporary objects that are trivial for a system by analyzing reference relations and lifetimes of objects. Then, estimating the importance of each non-trivial object based on their dynamic properties, we identify highly important ones (i.e., core objects). We implemented our technique in our tool and evaluated it by using traces from various open-source software systems. The results showed that our technique was much more effective in terms of the horizontal reduction of a reverse-engineered sequence diagram, compared with the state-of-the-art trace summarization technique. The horizontal compression ratio of our technique was 134.6 on average, whereas that of the state-of-the-art technique was 11.5. The runtime overhead imposed by our technique was 167.6% on average. This overhead is relatively small compared with recent scalable dynamic analysis techniques, which shows the practicality of our technique. Overall, our technique can achieve a significant reduction of the horizontal size of a reverse-engineered sequence diagram with a small overhead and is expected to be a valuable tool for program comprehension.