Computer Software
Print ISSN : 0289-6540
Volume 34, Issue 4
Displaying 1-18 of 18 articles from this issue
  • [in Japanese]
    2017 Volume 34 Issue 4 Pages 4_1
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (104K)
  • Fuyuki ISHIKAWA, Seiji UMATANI, Tsuneyasu KOMIYA, Shinpei HAYASHI, Dai ...
    2017 Volume 34 Issue 4 Pages 4_2
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (102K)
  • Takuro YAMAMOTO, Hiroshi OYAMA, Takuya AZUMI
    2017 Volume 34 Issue 4 Pages 4_3-4_16
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    The complexity and scale of embedded software have increased. To improve the productivity, the mruby on TOPPERS embedded component system (TECS) framework, which employs a scripting language (i.e., lightweight Ruby) and supports component-based development, has been proposed. In the current mruby on TECS framework, mruby programs must be compiled and linked every time they are modified, because mruby bytecode are incorporated in the platform. Moreover, while the framework supports multiple virtual machines (VMs), developers must be familiar with the functions of real-time operating systems to effectively execute multiple mruby programs concurrently or in parallel. This paper proposed an extended mruby on TECS framework that improves development efficiency more than the current framework. We implemented a Bluetooth loader receives an mruby bytecode, and a RiteVM scheduler simplifies multitasking. Synchronization of initializing multiple tasks is also implemented using an Eventflag. Experimental results demonstrate the advantages of the proposed framework.
    Download PDF (484K)
  • Ryo SUZUKI, Ikuro CHOH
    2017 Volume 34 Issue 4 Pages 4_17-4_38
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Siv3D is an open source C++ framework for developing applications with audio processing, image processing, and supporting a variety of human interface devices (HID). Siv3D is featured by its short code length as complex interaction can be coded in a few or a few tens of line. In order to reduce coding costs and gain better readability compared to conventional frameworks, Siv3D does not only provides a rich set of functions but also employs experimental and enterprising C++ Application Programming Interface (API) design such as using the state-of-the-art C++ language, extending C++ standard containers library, and implementing named parameters. For easy run-time testability, unoptimized code and errors are notified clearly to the developer. Siv3D reached a total of 12,000 downloads between 2013 and 2016, and the documentation and support have been maintained continuously by the user community.
    Download PDF (812K)
  • Yasuhiro SUGIYAMA, Hirohisa AMAN, Tomoyuki YOKOGAWA, Atsushi SAWADA, H ...
    2017 Volume 34 Issue 4 Pages 4_39
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (116K)
  • Hirohisa AMAN, Tomoyuki YOKOGAWA, Yasuhiro SUGIYAMA
    2017 Volume 34 Issue 4 Pages 4_40-4_46
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (1799K)
  • Shinya YOSHIDA, Hiroaki KUWABARA, Yoshitoshi KUNIEDA
    2017 Volume 34 Issue 4 Pages 4_47-4_53
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    In this paper, we propose Java annotations for the information flow analysis of Java programs. Information flow analysis is useful for statically detecting leaks of confidential information. We propose annotations to define a lattice of overall confidentiality and a confidentiality level of each data item in programs, which are required by the information flow analysis. We implemented an analyzer of information flow for the annotated Java programs as an extension of the Java compiler of OpenJDK.
    Download PDF (499K)
  • Yoshinari HACHISU, Satoru KOBAYASHI, Atsushi YOSHIDA, Kiyoshi AGUSA
    2017 Volume 34 Issue 4 Pages 4_54-4_60
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    In programming exercises, we propose a test case evaluation system which evaluates test cases written by students and gives advices to them in order to make effective test cases by themselves. Teachers define rules to evaluate test cases and advices which are shown to students when their test cases don't satisfy rules. Evaluation rules are described as conditional expressions with data structure of input data. We evaluate our system in writing test cases exercise for a number of students.
    Download PDF (603K)
  • Keisuke WATANABE, Takuya FUKAMACHI, Naoyasu UBAYASHI, Shintaro HOSOAI, ...
    2017 Volume 34 Issue 4 Pages 4_61-4_67
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    A/B testing is a widely-used experiment strategy, in which a developer implements multiple variations, runs them in parallel, and analyzes their effects. It is needed to assign each variation to users or sessions in A/B testing. By using AOP (Aspect Oriented Programming), the assigning operation and the features of a software can be implemented separately. Here we propose the solution of automated A/B testing. Variations are expressed declaratively in Archface-U, an interface which expresses candidates for implementation. In the expression, assignment ratio is described with the annotations, which realize a declarative description of the entire A/B testing strategy. Based on the description, we generate an aspect which automate the assigning operation in A/B testing.
    Download PDF (691K)
  • Keita TAKENOUCHI, Takashi ISHIO, Katsuro INOUE
    2017 Volume 34 Issue 4 Pages 4_68-4_74
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    To improve software productivity, software reuse with API (Application Programming Interface) such as library is common. However, APIs are not always easy to use because some of them are too large or complicated. Code example search is a common approach against it. In this paper, we propose a novel code example search method to help developers to understand how APIs should be used. Our approach has three features. (1) Variable data-flow can be specified with our original query to show helpful code examples. (2) Searching for various APIs is realized by downloading search targets on demand from the existing code search engine. (3) It is implemented as a web application with a low-cost algorithm using finite automaton. A result of an experiment shows that the proposal method helps API comprehension effectively in some cases, our original query is relatively easy to write, and the search time is practical.
    Download PDF (515K)
  • Rina NAKAZAWA
    2017 Volume 34 Issue 4 Pages 4_75-4_78
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (10772K)
  • [in Japanese]
    2017 Volume 34 Issue 4 Pages 4_84-4_85
    Published: October 25, 2017
    Released on J-STAGE: December 25, 2017
    JOURNAL FREE ACCESS
    Download PDF (689K)
  • Yixiao LI, Yutaka MATSUBARA, Hiroaki TAKADA
    2017 Volume 34 Issue 4 Pages 4_91-4_115
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    EV3RT is, to our knowledge, the first RTOS-based software platform for LEGO Mindstorms EV3 robotics kit. It is faster and more suitable for developing applications with real-time requirements than other existing software platforms. In practice, EV3RT has been selected as one of the officially supported platforms of ET Robocon, a popular robot competition in Japan, since 2015 and used by many participating teams to make their robots accomplish the assigned tasks more stably and precisely. In this paper, the usage and architecture of EV3RT are firstly introduced. We then explain TOPPERS/HRP2 kernel, the RTOS of EV3RT, and how to use its protection functionalities to build a reliable platform. A mechanism to support dynamic module loading in a static RTOS is proposed to implement the application loader for EV3RT. Implementation techniques like approach to reusing Linux device drivers are also described. Finally, the advantages of EV3RT are shown by evaluating and comparing its performance with other platforms.
    Download PDF (1326K)
  • Yusuke TOBA, Shinsuke MATSUMOTO, Sachio SAIKI, Masahide NAKAMURA, Tomo ...
    2017 Volume 34 Issue 4 Pages 4_116-4_128
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    Supporting deaf and hard-of-hearing (D/HH) people is a crucial social welfare measure. However, currently, communication support for D/HH people is insufficient for a conversation with multiple hearing people. In order to support D/HH people in these situations, this paper proposes a multi-modal speech visualization application, named Mieta, which provides various aspects of information about speech content. For the purpose of evaluating how actually useful the Mieta is, we conduct an evaluation experiment with actual nine D/HH students. As a result, Mieta contributes significantly to understanding, although it increases misunderstanding for D/HH people when there are voice recognition errors. Furthermore, subjects find that the Mieta's strength lies in its main characteristics, which includes multimodal speech visualization, whereas some find weakness in its voice recognition performance speed.
    Download PDF (1017K)
  • Tomohiro ODA, Keijiro ARAKI
    2017 Volume 34 Issue 4 Pages 4_129-4_143
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    The specification phase is an important phase in software development, and it is known that a defect in a specification seriously degrades the productivity and reliability of the overall development. Formal specification is a kind of functional modeling technique to define the functionality of the system rigorously at an appropriate level of abstraction using tools with mathematical backgrounds. The formal specification engineers perform the early stage of the modeling task, exploring the problem domain and learning the domain knowledge and requirements. This article explains the requirements on the support tools for the exploratory modeling, and introduces ViennaTalk, an integrated development environment for exploratory modeling in the formal specification language VDM-SL. Its design rationales, concrete design and implementation are also described.
    Download PDF (909K)
  • Ryo WATANABE, Takeshi KAKIMOTO
    2017 Volume 34 Issue 4 Pages 4_144-4_149
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    In this paper, we propose a hybrid missing data technique combine deletion and imputation of missing data. First, the proposed method deletes projects and/or metrics with high missing rate. Next, the proposed method imputes using analogy based imputation for remaining missing data. In the experiment, we compared estimation accuracies of multivariate liner regression in software development dataset. The results showed that mean balanced relative error was improved than conventional method.
    Download PDF (472K)
  • Koji TODA, Masateru TSUNODA
    2017 Volume 34 Issue 4 Pages 4_150-4_155
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    Multivariate regression models have been commonly used to estimate the software development effort to assist project planning and/or management. Since project data sets for model construction often contain missing values, we need to build a complete data set that has no missing values either by using imputation methods. However, while there are several ways to build the complete data set, it is unclear which method is the most suitable for the project data set. In this paper, using project data of 1364 cases (34% missing value rate) collected from several companies, we applied four imputation methods (k-nn method, applied CF method, Miss Forest method and Multiple Imputation method) to build regression models. Then, using project data of 160 cases (having no missing values), we evaluated the estimation performance of models after applying each imputation method. The result showed that Multiple Imputation method showed the best performance.
    Download PDF (387K)
  • Ryota NAKAMURA, Yoshihiro OYAMA
    2017 Volume 34 Issue 4 Pages 4_156-4_177
    Published: October 25, 2017
    Released on J-STAGE: November 03, 2017
    JOURNAL FREE ACCESS
    Efficient malware detection technologies include behavior-based methods using machine learning. In particular, online machine learning has remarkable advantages such as the capability of low-cost additional learning of new malware samples. The developers of a malware detection method employing online machine learning algorithms need to make an appropriate choice between the many algorithms that exist currently. However, there have been few comparative evaluations of multiple algorithms, and hence the knowledge needed to make a choice between them is lacking. In this study, we conducted a comparative evaluation of the characteristics of multiple online machine learning algorithms in behavior-based malware detection. We implemented four-category, seven-pattern algorithms (PA-I, PA-II, AROW, NAROW, NHERD, SCW-I, SCW-II), and quantitatively compared them by the standards of classification accuracy, learning speed, and classification speed. We assumed two use cases: initial screening of unknown program samples and real-time malware detection. We provided behavior logs of malware and benign applications to each algorithm, and performed learning and classification using it. Based on the result of the evaluation, we identified the best and worst algorithms in each use case and by each standard.
    Download PDF (798K)
feedback
Top