The search functionality is under construction.

Author Search Result

[Author] Katsuro INOUE(22hit)

1-20hit(22hit)

  • Comparing Reading Techniques for Object-Oriented Design Inspection

    Giedre SABALIAUSKAITE  Shinji KUSUMOTO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Vol:
    E87-D No:4
      Page(s):
    976-984

    For more than twenty-five years software inspections have been considered an effective method for defect detection. Inspections have been investigated through controlled experiments in university environment and industry case studies. However, in most cases software inspections have been used for defect detection in documents of conventional structured development process. Therefore, there is a significant lack of information about how inspections should be applied to Object-Oriented artifacts, such as Object-Oriented code and design diagrams. In addition, extensive work is needed to determine whether some inspection techniques can be more beneficial than others. Most inspection experiments include inspection meetings after individual inspection is completed. However, several researchers suggested that inspection meetings may not be necessary since an insignificant number of new defects are found as a result of inspection meeting. Moreover, inspection meetings have been found to suffer from process loss. This paper presents the findings of a controlled experiment that was conducted to investigate the performance of individual inspectors as well as 3-person teams in Object-Oriented design document inspection. Documents were written using the notation of Unified Modelling Language. Two reading techniques, namely Checklist-based reading (CBR) and Perspective-based reading (PBR), were used during experiment. We found that both techniques are similar with respect to defect detection effectiveness during individual inspection as well as during inspection meetings. Investigating the usefulness of inspection meetings, we found out that the teams that used CBR technique exhibited significantly smaller meeting gains (number of new defect first found during team meeting) than meeting losses (number of defects first identified by an individual but never included into defect list by a team); meanwhile the meeting gains were similar to meeting losses of the teams that used PBR technique. Consequently, CBR 3-person team meetings turned out to be less beneficial than PBR 3-person team meetings.

  • Extended Metrics to Evaluate Cost Effectiveness of Software Inspections

    Giedre SABALIAUSKAITE  Shinji KUSUMOTO  Katsuro INOUE  

     
    LETTER-Software Engineering

      Vol:
    E87-D No:2
      Page(s):
    475-480

    Software inspection is one of the most effective methods to detect defects. However, inspections are not always worthwhile. This letter proposes an inspection cost model to describe inspections-related costs and extended metrics to evaluate the cost effectiveness of software inspections.

  • Semi-Automatically Extracting Features from Source Code of Android Applications

    Tetsuya KANDA  Yuki MANABE  Takashi ISHIO  Makoto MATSUSHITA  Katsuro INOUE  

     
    LETTER-Software Engineering

      Vol:
    E96-D No:12
      Page(s):
    2857-2859

    It is not always easy for an Android user to choose the most suitable application for a particular task from the great number of applications available. In this paper, we propose a semi-automatic approach to extract feature names from Android applications. The case study verifies that we can associate common sequences of Android API calls with feature names.

  • Empirical Evaluation of Method Complexity for C++ Program

    Motoyasu TAKEHARA  Toshihiro KAMIYA  Shinji KUSUMOTO  Katsuro INOUE  

     
    LETTER-Software Engineering

      Vol:
    E83-D No:8
      Page(s):
    1698-1700

    This letter empirically evaluates the way how to calculate the complexity of methods, that is used in the definition of WMC(Weighted Method per Class), one of the Chidamber and Kemerer's metrics. With respect to the results of our experiment, Halstead's Software Science metric is the most appropriate one to evaluate the complexity of the methods.

  • An Investigation into the Characteristics of Merged Code Clones during Software Evolution

    Eunjong CHOI  Norihiro YOSHIDA  Katsuro INOUE  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:5
      Page(s):
    1244-1253

    Although code clones (i.e. code fragments that have similar or identical code fragments in the source code) are regarded as a factor that increases the complexity of software maintenance, tools for supporting clone refactoring (i.e. merging a set of code clones into a single method or function) are not commonly used. To promote the development of refactoring tools that can be more widely utilized, we present an investigation of clone refactoring carried out in the development of open source software systems. In the investigation, we identified the most frequently used refactoring patterns and discovered how merged code clone token sequences and differences in token sequence lengths vary for each refactoring pattern.

  • Comparison of Backward Slicing Techniques for Java

    Yu KASHIMA  Takashi ISHIO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2014/10/03
      Vol:
    E98-D No:1
      Page(s):
    119-130

    Program slicing is an important approach for debugging, program comprehension, impact analysis, etc. There are various program slicing techniques ranging from the lightweight to the more accurate but heavyweight. Comparative analyses are important for selecting the most appropriate technique. This paper presents a comparative study of four backward program slicing techniques for Java. The results show the scalability and precision of these techniques. We develop guidelines that indicate which slicing techniques are appropriate for different situations, based on the results.

  • Changes of Evaluation Values on Component Rank Model by Taking Code Clones into Consideration

    Reishi YOKOMORI  Norihiro YOSHIDA  Masami NORO  Katsuro INOUE  

     
    PAPER-Software System

      Pubricized:
    2017/10/05
      Vol:
    E101-D No:1
      Page(s):
    130-141

    There are many software systems that have been used and maintained for a long time. By undergoing such a maintenance process, similar code fragments were intentionally left in the source code of such software, and knowing how to manage a software system that contains a lot of similar code fragments becomes a major concern. In this study, we proposed a method to pick up components that were commonly used in similar code fragments from a target software system. This method was realized by using the component rank model and by checking the differences of evaluation values for each component before and after merging components that had similar code fragments. In many cases, components whose evaluation value had decreased would be used by both the components that were merged, so we considered that these components were commonly used in similar code fragments. Based on the proposed approach, we implemented a system to calculate differences of evaluation values for each component, and conducted three evaluation experiments to confirm that our method was useful for detecting components that were commonly used in similar code fragments, and to confirm how our method can help developers when developers add similar components. Based on the experimental results, we also discuss some improvement methods and provide the results from applications of these methods.

  • NCDSearch: Sliding Window-Based Code Clone Search Using Lempel-Ziv Jaccard Distance

    Takashi ISHIO  Naoto MAEDA  Kensuke SHIBUYA  Kenho IWAMOTO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2022/02/08
      Vol:
    E105-D No:5
      Page(s):
    973-981

    Software developers may write a number of similar source code fragments including the same mistake in software products. To remove such faulty code fragments, developers inspect code clones if they found a bug in their code. While various code clone detection methods have been proposed to identify clones of either code blocks or functions, those tools do not always fit the code inspection task because a faulty code fragment may be much smaller than code blocks, e.g. a single line of code. To enable developers to search code clones of such a small faulty code fragment in a large-scale software product, we propose a method using Lempel-Ziv Jaccard Distance, which is an approximation of Normalized Compression Distance. We conducted an experiment using an existing research dataset and a user survey in a company. The result shows our method efficiently reports cloned faulty code fragments and the performance is acceptable for software developers.

  • Improvement in Method Verb Recommendation Technique Using Association Rule Mining

    Yuki KASHIWABARA  Takashi ISHIO  Katsuro INOUE  

     
    LETTER-Software Engineering

      Pubricized:
    2015/08/13
      Vol:
    E98-D No:11
      Page(s):
    1982-1985

    In a previous study, we proposed a technique to recommend candidate verbs for a method name so that developers can consistently use various verbs. In this study, we improve the rule extraction technique proposed in this previous study. Moreover, we confirm that the rank of each correct verb recommended by the new technique is higher than that by the previous technique.

  • Effectiveness of an Integrated CASE Tool for Productivity and Quality of Software Developments

    Michio TSUDA  Sadahiro ISHIKAWA  Osamu OHNO  Akira HARADA  Mayumi TAKAHASHI  Shinji KUSUMOTO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Vol:
    E89-D No:4
      Page(s):
    1470-1479

    This is commonly thought that CASE tools reduce programming efforts and increase development productivity. However, no paper has provide quantitative data supporting the matter. This paper discusses productivity improvement through the use of an integrated CASE tool system named EAGLE (Effective Approach to Achieving High Level Software Productivity), as shown by various data collected in Hitachi from the 1980s to the 2000s. We have evaluated productivity by using three metrics, l) program generation rate using reusable program skeletons and components, 2) fault density at two test phase, and 3) learning curve for the education of inexperienced programmers. We will show that productivity has been improved by the various facilities of EAGLE.

  • Method Verb Recommendation Using Association Rule Mining in a Set of Existing Projects

    Yuki KASHIWABARA  Takashi ISHIO  Hideaki HATA  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2014/12/16
      Vol:
    E98-D No:3
      Page(s):
    627-636

    It is well-known that program readability is important for maintenance tasks. Method names are important identifiers for program readability because they are used for understanding the behavior of methods without reading a part of the program. Although developers can create a method name by arbitrarily choosing a verb and objects, the names are expected to represent the behavior consistently. However, it is not easy for developers to choose verbs and objects consistently since each developer may have a different notion of a suitable lexicon for method names. In this paper, we propose a technique to recommend candidate verbs for a method name so that developers can use various verbs consistently. We recommend candidate verbs likely to be used as a part of a method name, using association rules extracted from existing methods. To evaluate our technique, we have extracted rules from 445 open source projects written in Java and confirmed the accuracy of our approach by applying the extracted rules to several open source applications. As a result, we found that 84.9% of the considered methods in four projects are recommended the existing verb. Moreover, we found that 73.2% of the actual renamed methods in six projects are recommended the correct verb.

  • Towards Logging Optimization for Dynamic Object Process Graph Construction

    Takashi ISHIO  Hiroki WAKISAKA  Yuki MANABE  Katsuro INOUE  

     
    LETTER-Software System

      Vol:
    E96-D No:11
      Page(s):
    2470-2472

    Logging the execution process of a program is a popular activity for practical program understanding. However, understanding the behavior of a program from a complete execution trace is difficult because a system may generate a substantial number of runtime events. To focus on a small subset of runtime events, a dynamic object process graph (DOPG) has been proposed. Although a DOPG can potentially facilitate program understanding, the logging process has not been adapted for DOPGs. If a developer is interested in the behavior of a particular object, only the runtime events related to the object are necessary to construct a DOPG. The vast majority of runtime events in a complete execution trace are irrelevant to the interesting object. This paper analyzes actual DOPGs and reports that a logging tool can be optimized to record only the runtime events related to a particular object specified by a developer.

  • Dependency-Based Extraction of Conditional Statements for Understanding Business Rules

    Tomomi HATANO  Takashi ISHIO  Joji OKADA  Yuji SAKATA  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2016/01/08
      Vol:
    E99-D No:4
      Page(s):
    1117-1126

    For the maintenance of a business system, developers must understand the business rules implemented in the system. One type of business rules defines computational business rules; they represent how an output value of a feature is computed from the valid inputs. Unfortunately, understanding business rules is a tedious and error-prone activity. We propose a program-dependence analysis technique tailored to understanding computational business rules. Given a variable representing an output, the proposed technique extracts the conditional statements that may affect the computation of the output. To evaluate the usefulness of the technique, we conducted an experiment with eight developers in one company. The results confirm that the proposed technique enables developers to accurately identify conditional statements corresponding to computational business rules. Furthermore, we compare the number of conditional statements extracted by the proposed technique and program slicing. We conclude that the proposed technique, in general, is more effective than program slicing.

  • Development of Program Difference Tool Based on Tree Mapping

    Lin LIAN  Minoru AIZAWA  Katsuro INOUE  Koji TORII  

     
    PAPER-Software Systems

      Vol:
    E78-D No:10
      Page(s):
    1261-1268

    In the program development process, it is ofren necessary for programmers to know the differences between two programs, or two different versions of a program. Since programs have structures such as iteration statement and selection statement, applying text-based tools such as UNIX diff to identify the differences may produce unsatisfactory results. In this paper, we exploit a tree as the internal representation of a program, obtain the mapping between two trees and display the program differences visually based on the mapping and pretty-printing technique so that the structural differences can be identified immediately.

  • Visualization of Inter-Module Dataflow through Global Variables for Source Code Review

    Naoto ISHIDA  Takashi ISHIO  Yuta NAKAMURA  Shinji KAWAGUCHI  Tetsuya KANDA  Katsuro INOUE  

     
    LETTER-Software System

      Pubricized:
    2018/09/26
      Vol:
    E101-D No:12
      Page(s):
    3238-3241

    Defects in spacecraft software may result in loss of life and serious economic damage. To avoid such consequences, the software development process incorporates code review activity. A code review conducted by a third-party organization independently of a software development team can effectively identify defects in software. However, such review activity is difficult for third-party reviewers, because they need to understand the entire structure of the code within a limited time and without prior knowledge. In this study, we propose a tool to visualize inter-module dataflow for source code of spacecraft software systems. To evaluate the method, an autonomous rover control program was reviewed using this visualization. While the tool does not decreases the time required for a code review, the reviewers considered the visualization to be effective for reviewing code.

  • Experience of Solving Example Problem for Software Process Modeling

    Hajimu IIDA  Yoshihiro OKADA  Katsuro INOUE  Koji TORII  

     
    LETTER-Software Systems

      Vol:
    E76-D No:2
      Page(s):
    302-306

    Marc Kellner proposed an example problem intending to compare modeling and describing techniques of software process. In this paper, we will describe our approach to understanding and describing the problem, from a process/product relation view, and synchronization/concurrent view. Also, we will show that a description of the problem is translated for execution and its correctness is validated.

  • Proposing and Evaluating Clone Detection Approaches with Preprocessing Input Source Files

    Eunjong CHOI  Norihiro YOSHIDA  Yoshiki HIGO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2014/10/28
      Vol:
    E98-D No:2
      Page(s):
    325-333

    So far, many approaches for detecting code clones have been proposed based on the different degrees of normalizations (e.g. removal of white spaces, tokenization, and regularization of identifiers). Different degrees of normalizations lead to different granularities of source code to be detect as code clones. To investigate how the normalizations impact the code clone detection, this study proposes six approaches for detecting code clones with preprocessing input source files using different degrees of normalizations. More precisely, each normalization is applied to the input source files and then equivalence class partitioning is performed to the files in the preprocessing. After that, code clones are detected from a set of files that are representatives of each equivalence class using a token-based code clone detection tool named CCFinder. The proposed approaches can be categorized into two types, approaches with non-normalization and normalization. The former is the detection of only identical files without any normalization. Meanwhile, the latter category is the detection of identical files with different degrees of normalizations such as removal of all lines containing macros. From the case study, we observed that our proposed approaches detect code clones faster than the approach that uses only CCFinder. We also found the approach with non-normalization is the fastest among the proposed approaches in many cases.

  • An Exploratory Study of Copyright Inconsistency in the Linux Kernel

    Shi QIU  Daniel M. GERMAN  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2020/11/17
      Vol:
    E104-D No:2
      Page(s):
    254-263

    Software copyright claims an exclusive right for the software copyright owner to determine whether and under what conditions others can modify, reuse, or redistribute this software. For Free and Open Source Software (FOSS), it is very important to identify the copyright owner who can control those activities with license compliance. Copyright notice is a few sentences mostly placed in the header part of a source file as a comment or in a license document in a FOSS project, and it is an important clue to establish the ownership of a FOSS project. Repositories of FOSS projects contain rich and varied information on the development including the source code contributors who are also an important clue to establish the ownership. In this paper, as a first step of understanding copyright owner, we will explore the situation of the software copyright in the Linux kernel, a typical example of FOSS, by analyzing and comparing two kinds of datasets, copyright notices in source files and source code contributors in the software repositories. The discrepancy between two kinds of analysis results is defined as copyright inconsistency. The analysis result has indicated that copyright inconsistencies are prevalent in the Linux kernel. We have also found that code reuse, affiliation change, refactoring, support function, and others' contributions potentially have impacts on the occurrence of the copyright inconsistencies in the Linux kernel. This study exposes the difficulty in managing software copyright in FOSS, highlighting the usefulness of future work to address software copyright problems.

  • Approximating the Evolution History of Software from Source Code

    Tetsuya KANDA  Takashi ISHIO  Katsuro INOUE  

     
    PAPER-Software Engineering

      Pubricized:
    2015/03/17
      Vol:
    E98-D No:6
      Page(s):
    1185-1193

    Once a software product has been released, a large number of software products may be derived from an original single product. Management and maintenance of product variants are important, but those are hardly cared because developers do not make efforts for the further maintainability in the initial phase of software development. However, history of products would be lost in typical cases and developers have only source code of products in the worst case. In this paper, we approximate the evolution history of software products using source code of them. Our key idea is that two successive products are the most similar pair of products in evolution history, and have many similar source files. We did an experiment to compare the analysis result with actual evolution history. The result shows 78% (on average) of edges in the extracted trees are consistent with the actual evolution history of the products.

  • CooPs: A Cooperative Process Planning System to Negotiate Process Change Requests

    Kagetomo GENJI  Katsuro INOUE  

     
    PAPER-Sofware System

      Vol:
    E82-D No:9
      Page(s):
    1261-1277

    In order to lead an ongoing software project to success, it is important to flexibly control its dynamically-changing software process. However, it is generally impossible not only to exactly pre-define the production process but also to prescribe the process change process (meta-process). To solve the problem, we have focused on communication between the project staff through which process change requests presented by individuals can be immediately shared, designed, verified, validated and implemented. This paper proposes a communication model which can represent a wide variety of communication states between the project manager and developers discussing how to implement process change requests. The communication model has been derived by investigating the sort of process change requests and, based on the model, we have implemented a cooperative process planning system (called CooPs). CooPs is a communication environment designed for software projects and supports information sharing for discussing the process change requests. By using CooPs, the software project can flexibly deal with not only expected change requests but also unexpected ones. To evaluate the applicability of the communication model and the capabilities of CooPs, we have conducted an experiment which is an application of CooPs to the ISPW6 example problem. This paper describes the concepts of CooPs, the system implementation, and the experiment.

1-20hit(22hit)