-
[in Japanese]
2017 Volume 34 Issue 4 Pages
4_1
Published: October 25, 2017
Released on J-STAGE: December 25, 2017
JOURNAL
FREE ACCESS
-
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
-
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.
View full abstract
-
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.
View full abstract
-
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
-
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
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract
-
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
-
[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
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract
-
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.
View full abstract