Updated on 2024/05/16

写真a

 
UBAYASHI, Naoyasu
 
Affiliation
Faculty of Science and Engineering, Global Center for Science and Engineering
Job title
Professor(non-tenure-track)
Degree
Ph.D. ( 1999.03 東京大学 )
Profile

My research interests include artificial intelligence, software repository mining, programming language theory, and software engineering using formal methods and formal verification. Currently, I am focusing on software engineering for AI (the establishment of software engineering principles for AI system development) and AI for software engineering (the application of AI techniques to software engineering).

Research Experience

  • 2024.04
    -
    Now

    Waseda University   Global Center for Science and Engineering, Faculty of Science and Engineering   Professor

  • 2024.04
    -
    Now

    Professor Emeritus, Kyushu University

  • 2010.03
    -
    2024.03

    Kyushu University   Faculty of Information Science and Electrical Engineering

  • 2008.04
    -
    2010.02

    Kyushu Institute of Technology   School of Computer Science and Systems Engineering

  • 2003.10
    -
    2007.03

    Kyushu Institute of Technology   School of Computer Science and Systems Engineering

  • 1982.04
    -
    2003.09

    Toshiba Corporation

▼display all

Education Background

  • 1996.04
    -
    1999.03

    The University of Tokyo   Graduate School of Arts and Sciences   Department of Multi-Disciplinary Sciences,General Systems Sciences  

  • 1994.04
    -
    1996.03

    University of Tsukuba  

  • 1978.04
    -
    1982.03

    Hiroshima University   Faculty of Science   Department of Mathematics  

Committee Memberships

  • 2015.06
    -
    Now

    情報処理学会  フェロー

  • 2019.06
    -
    2023.06

    日本ソフトウェア科学会  理事

  • 2017.10
    -
    2022.03

    九州大学  [文部科学省]成長分野を支える情報技術人材の育成拠点の形成(enPiT-Pro) スマートエスイー 連携大学 九州大学事業責任者

  • 2016.10
    -
    2021.03

    九州大学  [文部科学省]成長分野を支える情報技術人材の育成拠点の形成(第2期 enPiT) 組込みシステム分野 連携大学 九州大学事業責任者

  • 2016.05
    -
    2017.03

    日本ソフトウェア科学会 実践的IT教育研究会 (rePiT)  主査

  • 2013.04
    -
    2017.03

    情報処理学会ソフトウェア工学研究会  主査

  • 2012.10
    -
    2017.03

    文科省 分野・地域を超えた実践的情報教育恊働ネットワーク enPiT  幹事

  • 2010.04
    -
    2016.03

    電子情報通信学会ソフトウェアサイエンス研究会  運営委員

  • 2011.04
    -
    2013.03

    情報処理学会ソフトウェア工学研究会  幹事

  • 2010.04
    -
     

    九州組込みソフトウェアコンソーシアム (QUEST)  理事

▼display all

Professional Memberships

  •  
     
     

    THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS

  •  
     
     

    INFORMATION PROCESSING SOCIETY OF JAPAN

  •  
     
     

    JAPAN SOCIETY FOR SOFTWARE SCIENCE AND TECHNOLOGY

  •  
     
     

    IEEE-CS

  •  
     
     

    ACM SIGSOFT

Research Areas

  • Software   Software Engineering

Research Interests

  • Formal Methods / Formal Verification

  • ソフトウェア工学

  • Programming Language Mechanisms

  • ソフトウェアリポジトリマイニング

  • 人工知能のソフトウェア工学への応用

Awards

  • 情報処理学会論文誌ジャーナル/JIP特選論文

    2020.04   情報処理学会  

     View Summary

    以下の論文に対して授与された。

    Revertに着目した不確かさに関する実証的分析
    村岡 北斗, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

  • 情報処理学会 ソフトウェアエンジニアリングシンポジウム 2019 (SES 2019) 最優秀論文賞

    2019.09   情報処理学会 ソフトウェア工学研究会  

     View Summary

    以下の論文に対して授与された。

    Revertに着目した不確かさに関する実証的分析
    村岡 北斗, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

  • Best Industry Paper Award

    2018.10   ACM/IEEE 12th International Symposium on Empirical Software Engineering and Measurement (ESEM 2018)  

     View Summary

    以下の論文に対して授与された。

    Automatic Topic Classification of Test Cases Using Text Mining at an Android Smartphone Vendor Company,
    Junji Shimagaki, Yasutaka Kamei, Abram Hindle, Naoyasu Ubayashi,
    ESEM 2018

  • 情報処理学会 ソフトウェア工学研究会 卓越研究賞

    2016.09   情報処理学会 ソフトウェア工学研究会  

     View Summary

    以下の論文に対して授与された。

    A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile, Junji Shimagaki, Yasutaka Kamei, Shane Mcintosh, Ahmed E. Hassan, Naoyasu Ubayashi, ICSE 2016 (SEIP track)

  • 情報処理学会 ソフトウェアエンジニアリングシンポジウム 2013 (SES 2013) 最優秀論文賞

    2013.09   情報処理学会 ソフトウェア工学研究会  

     View Summary

    以下の論文に対して授与された。

    リポジトリマイニングに対するHadoopの導入に向けた性能評価
    大坂 陽, 山下一寛, 亀井靖高, 鵜林尚靖

  • 山下記念研究賞

    2003.07   情報処理学会  

    Winner: 鵜林尚靖

▼display all

 

Papers

  • Revertに着目した不確かさに関する実証的分析

    村岡 北斗, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

    情報処理学会論文誌   61 ( 4 ) 918 - 929  2020.04  [Refereed]  [Domestic journal]

  • Modular Programming and Reasoning for Living with Uncertainty (Extended Version)(Selected Paper from ICSOFT 2018)

    Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    Software Technologies, Communications in Computer and Information Science (CCIS) 1077, Springer     220 - 244  2019.07  [Refereed]  [International journal]

  • Archface: A Contract Place Where Architectural Design and Code Meet Together

    Naoyasu Ubayashi, Jun Nomura, and Tetsuo Tamai

    32nd ACM/IEEE International Conference on Software Engineering (ICSE 2010)    2010.05  [Refereed]  [International journal]

     View Summary

    ソフトウェアアーキテクチャに関する研究は,ソフトウェア工学において重要な研究分野の一つである.本論文では,アーキテクチャ設計とその実装の間の溝を埋めるためのインタ
    フェース機構 Archface を提案している.Archface を導入することにより,アーキテクチャ設計の本質をインタフェース内にカプセル化することが可能になる.Archface は Component-and-Connector アーキテクチャを記述支援の対象とし,プログラムの実装に際してはインタフェース中に記述されたアーキテクチャ制約に従うことをプログラマに強制する.そのため,設計の意図を正しく実装に反映できる.

  • An Extensible Aspect-oriented Modeling Environment

    Naoyasu Ubayashi, Genya Otsubo, Kazuhide Noda, and Jun Yoshida

    21st International Conference on Advanced Information Systems (CAiSE 2009)    2009.06  [Refereed]

  • An Aspect-oriented Weaving Mechanism Based on Component and Connector Architecture

    Naoyasu Ubayashi, Akihiro Sakai, and Tetsuo Tamai

    22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007)    2007.11  [Refereed]

  • A Parameterized Interpreter for Modeling Different AOP Mechanisms

    Naoyasu Ubayashi, Genki Moriyama, Hidehiko Masuhara, and Tetsuo Tamai

    20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005)    2005.11  [Refereed]

  • An Adaptive Object Model with Dynamic Role Binding

    Tetsuo Tamai, Naoyasu Ubayashi, and Ryoichi Ichiyama

    27th IEEE/ACM International Conference on Software Engineering (ICSE 2005)    2005.05  [Refereed]

  • Association Aspects

    Kouhei Sakurai, Hidehiko Masuhara, Naoyasu Ubayashi, Saeko Matsuura, and Seiichi Komiya

    3rd International Conference on Aspect-Oriented Software Development (AOSD 2004)    2004.03  [Refereed]

  • Aspect-Oriented Programming with Model Checking

    Naoyasu Ubayashi and Tetsuo Tamai

    1st International Conference on Aspect-Oriented Software Development (AOSD 2002)    2002.04  [Refereed]

  • Exploring the Effect of Multiple Natural Languages on Code Suggestion Using GitHub Copilot.

    Kei Koyanagi, Dong Wang, Kotaro Noguchi, Masanari Kondo, Alexander Serebrenik, Yasutaka Kamei, Naoyasu Ubayashi

    CoRR   abs/2402.01438  2024

    DOI

  • When conversations turn into work: a taxonomy of converted discussions and issues in GitHub.

    Dong Wang, Masanari Kondo, Yasutaka Kamei, Raula Gaikovina Kula, Naoyasu Ubayashi

    Empirical Software Engineering   28 ( 6 ) 138 - 138  2023.11

    DOI

  • Analyzing the Impact of Automatic Test Case Generation Considering Execution Paths on Automated Program Repair

    MATSUDA Yuga, YAMATE Kyosuke, KONDO Masanari, KASHIWA Yutaro, KAMEI Yasutaka, UBAYASHI Naoyasu

    Computer Software   40 ( 1 ) 1_45 - 1_56  2023.01

     View Summary

    For automated program repairs (APR), the cost of the patch generation process will be reduced if automatically-generated test suites can be used. Automatic test-case generation techniques often take classes as input. This study aims at identifying which classes should be given as input for the aforementioned technique. In this study, we investigate the relationship between the test suites that detected failures and the actual classes that had bugs fixed by developers. We observe the cases where test suites do not identify the classes fixed by developers as a cause of failures. We also find that these cases occur when the classes fixed by developers are on the traces generated by test suites' exercises. Based on this finding, we examine the impact of the automatically generated test-suites on the performance of APR. We demonstrate, taking into account all the classes exercised by the failed test cases, that the total number of generated patches decreases but the number of correct patches increases.

    DOI

  • Uncertainty-aware Metamorphic Testing for Robust Object Detection Models.

    Jianhong Wang, Yuta Ishimoto, Masanari Kondo, Yasutaka Kamei, Naoyasu Ubayashi

    QRS Companion     9 - 17  2023

    DOI

  • An Initial Analysis of Repair and Side-effect Prediction for Neural Networks.

    Yuta Ishimoto, Ken Matsui, Masanari Kondo, Naoyasu Ubayashi, Yasutaka Kamei

    CAIN     80 - 85  2023

    DOI

  • Towards Better Online Communication for Future Software Development in Industry.

    Masanari Kondo, Shinobu Saito, Yukako Iimura, Eunjong Choi, Osamu Mizuno, Yasutaka Kamei, Naoyasu Ubayashi

    COMPSAC     1619 - 1624  2023

    DOI

  • When Conversations Turn Into Work: A Taxonomy of Converted Discussions and Issues in GitHub.

    Dong Wang, Masanari Kondo, Yasutaka Kamei, Raula Gaikovina Kula, Naoyasu Ubayashi

    CoRR   abs/2307.07117  2023

    DOI

  • Towards Privacy Preserving Cross Project Defect Prediction with Federated Learning.

    Hiroki Yamamoto, Dong Wang, Gopi Krishnan Rajbahadur, Masanari Kondo, Yasutaka Kamei, Naoyasu Ubayashi

    SANER     485 - 496  2023

    DOI

  • PAFL: Probabilistic Automaton-based Fault Localization for Recurrent Neural Networks.

    Yuta Ishimoto, Masanari Kondo, Naoyasu Ubayashi, Yasutaka Kamei

    Inf. Softw. Technol.   155   107117 - 107117  2023

    DOI

  • A case study of automatic debugging problem generation using novice programmers' bug fix histories

    AKIYAMA Gakuto, NAKAMURA Tsukasa, KONDO Masanari, KAMEI Yasutaka, UBAYASHI Naoyasu

    Computer Software   39 ( 4 ) 4_10 - 4_16  2022.10

     View Summary

    The debugging support for beginner programmers has been an active research area in recent years. However, instead of directly supporting their debugging, training such programmers to be intermediate programmers by using exercises to debug programs is overlooked. In this training, it is important to prepare the programs including bugs that capture the tendency of beginner programmers. Therefore, we focused on Learning-Mutation, which learns the bugs using machine translation from buggy programs and fixed programs, and automatically induces bugs into programs. In this study, we applied Learning-Mutation to the programs written by beginner programmers at Kyushu University. By comparing the induced bugs by Learning-Mutation with the actual bugs by such programmers, we evaluated whether Learning-Mutation can be used to support the exercises by preparing the programs including bugs. As a result, the induced bugs are similar to the actual bugs, and the patterns of bugs that are forgetting semicolons and undeclaring variables or functions accounted for more than 36% when the number of tokens was small. On the other hand, as the number of tokens increased, the number of incorrect expressions increased. Furthermore, although there are bugs that are difficult to generate, beam search relieves this difficulty.

    DOI

  • 木編集距離に着目した類似解答ソースコード検索器における深層学習モデルの性能評価

    沖野 健太郎, 松尾 春紀, 山本 大貴, 近藤 将成, 亀井 靖高, 鵜林 尚靖

    情報処理学会論文誌   63 ( 4 ) 986 - 998  2022.04

     View Summary

    近年のIT社会の発展によってIT人材の不足が深刻になり,プログラム自動生成を含むソフトウェア開発の自動化が求められている.多くの研究が行われているなかで,プログラム自動生成をより実用的なものとするために,自動生成の過程でソースコード検索器を使用している研究がある.その研究では,求めるソースコードに木構造が近いと推測される類似解答ソースコードを検索し,自動生成の雛形としている.この手法を用いることで,プログラミングコンテストAtCoderの解答ソースコードの自動生成において,検索を行わない場合と比較して自動生成できた件数が増加したと報告されている.本研究では,木編集距離を学習に用いたソースコード検索器に着目した.ソースコード検索器の性能に影響を与える要因を実証的に調査することで,プログラム自動生成の精度向上への知見を得ることを目指す.調査では,検索精度に影響を与える要因として,深層学習モデルの構造,ソースコードの入力形式,問題の複雑度の3つを対象とし,AtCoderの問題を使用して検索精度の比較を行った.調査の結果,類似解答ソースコード検索においてTransformerのエンコーダ部分の使用は有効であることが期待できること,AtCoderの問題に対して抽象構文木のベクトル表現の使用は有効であるとはいえないこと,問題の複雑度は検索精度に影響を与えることを示した.
    Automatic program generation is an active research topic in software engineering. To make automatic program generation more practical, a prior study applies source code search to the method of automatic program generation. In that study, source codes whose tree structures may be close to the desired source code developers require are searched and used as a template for the method. They reported that the method with source code search increases the number of generated source codes compared to the method without source code search. In this study, we use source code search using the tree edit distance. By empirically investigating the factors that affect the performance of source code search, we aim to improve the accuracy of automatic program generation. We focused on three factors that affect the search accuracy: the structure of the deep learning model, the input format of the source code, and the complexity of the problem. We compared the search accuracy on the AtCoder problems. We found that the encoder part of Transformer is promising for source code search, the use of vectorized representation of abstract syntax trees is less effective for the AtCoder problems, and the complexity of the problem affects the search accuracy.

    DOI

  • Evaluating Automated Program Repair Techniques using Introductory Programming Course Datasets.

    Tsukasa Nakamura, Masanari Kondo, Yasutaka Kamei, Naoyasu Ubayashi

    COMPSAC     569 - 574  2022

    DOI

  • Hey APR! Integrate Our Fault Localization Skill: Toward Better Automated Program Repair.

    Kyosuke Yamate, Masanari Kondo, Yutaro Kashiwa, Yasutaka Kamei, Naoyasu Ubayashi

    COMPSAC     563 - 568  2022

    DOI

  • An empirical study on self-admitted technical debt in modern code review.

    Yutaro Kashiwa, Ryoma Nishikawa, Yasutaka Kamei, Masanari Kondo, Emad Shihab, Ryosuke Sato, Naoyasu Ubayashi

    Inf. Softw. Technol.   146   106855 - 106855  2022

    DOI

  • Studying donations and their expenses in open source projects: a case study of GitHub projects collecting donations through open collectives.

    Jiayuan Zhou, Shaowei Wang 0002, Yasutaka Kamei, Ahmed E. Hassan, Naoyasu Ubayashi

    Empirical Software Engineering   27 ( 1 ) 24 - 24  2022

    DOI

  • PYREF: Refactoring Detection in Python Projects.

    Hassan Atwi, Bin Lin 0008, Nikolaos Tsantalis, Yutaro Kashiwa, Yasutaka Kamei, Naoyasu Ubayashi, Gabriele Bavota, Michele Lanza

    SCAM     136 - 141  2021

    DOI

  • Towards Better Coverage of Dataset with Software Product Line Engineering.

    Lei Shi, Masanari Kondo, Naoyasu Ubayashi, Yasutaka Kamei

    QRS Companion     1173 - 1174  2021

    DOI

  • Does Refactoring Break Tests and to What Extent?

    Yutaro Kashiwa, Kazuki Shimizu, Bin Lin 0008, Gabriele Bavota, Michele Lanza, Yasutaka Kamei, Naoyasu Ubayashi

    ICSME     171 - 182  2021

    DOI

  • Does shortening the release cycle affect refactoring activities: A case study of the JDT Core, Platform SWT, and UI projects.

    Olivier Nourry, Yutaro Kashiwa, Yasutaka Kamei, Naoyasu Ubayashi

    Information & Software Technology   139   106623 - 106623  2021

    DOI

  • How Fast and Effectively Can Code Change History Enrich Stack Overflow?

    Ryujiro Nishinaka, Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    2020 IEEE International Conference on Software Quality, Reliability & Security (QRS 2020)    2020.12  [Refereed]  [International journal]

  • Git-based Integrated Uncertainty Manager

    Naoyasu Ubayashi, Watanabe Takuya, Yasutaka Kamei, Ryosuke Sato

    41st International Conference on Software Engineering (ICSE 2019), Companion Volume     95 - 98  2019.05  [Refereed]  [International journal]

  • DeepJIT: An End-To-End Deep Learning Framework for Just-In-Time Defect Prediction

    Thong Hoang, Hoa Khanh Dam, Yasutaka Kamei, David Lo, and Naoyasu Ubayashi

    16h International Conference on Mining Software Repositories (MSR 2019)     34 - 45  2019.05  [Refereed]  [International journal]

    DOI

  • Message from the APSEC 2018 General Co-Chairs

    Katsuhisa Maruyama, Naoyasu Ubayashi

    25th Asia-Pacific Software Engineering Conference, APSEC 2018   2018-December   xvi  2019.05  [Refereed]

    DOI

  • ICSE 2018参加報告

    吉岡 信和, 鵜林 尚靖, 石川 冬樹, 鄭 顕志, 鷲崎 弘宜

    Computer Software   36 ( 1 ) 66 - 73  2019  [Refereed]

    DOI

  • When and Why Do Software Developers Face Uncertainty?

    Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS)     288 - 299  2019  [Refereed]

    DOI

  • Studying the Cost and Effectiveness of OSS Quality Assessment Models: An Experience Report of Fujitsu QNET

    Yasutaka Kamei, Takahiro Matsumoto, Kazuhiro Yamashita, Naoyasu Ubayashi, Takashi Iwasaki, Shuich Takayama

    IEICE Transactions on Information and Systems   E101-D ( 11 ) 2744 - 2753  2018.11  [Refereed]  [International journal]

    DOI

  • Stack Overflowを利用した自動バグ修正の検討 [FOSE2017 推薦レター論文]

    廣瀬 賢幸, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

    日本ソフトウェア科学会誌 コンピュータソフトウェア   35 ( 4 ) 144 - 150  2018.08  [Refereed]  [Domestic journal]

  • OSS事前品質評価における重み付け手法の実証実験 [FOSE2017 推薦レター論文]

    中野 大扉, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖, 高山 修一, 岩崎 孝司

    日本ソフトウェア科学会誌 コンピュータソフトウェア   35 ( 4 ) 136 - 143  2018.08  [Refereed]  [Domestic journal]

  • 特集「実践的IT教育」の編集にあたって

    鵜林 尚靖, 吉田 則裕, 井垣 宏, 大久保 隆夫, 大場 みち子, 粂野 文洋, 森本 千佳子, 吉岡 信和

    日本ソフトウェア科学会誌 コンピュータソフトウェア   35 ( 1 ) 1 - 2  2018.02  [Domestic journal]

  • Can Abstraction Be Taught? Refactoring-based Abstraction Learning.

    Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, January 22-24, 2018.     429 - 437  2018  [Refereed]

    DOI

  • iArch-U/MC: An Uncertainty-Aware Model Checker for Embracing Known Unknowns.

    Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    Proceedings of the 13th International Conference on Software Technologies, ICSOFT 2018, Porto, Portugal, July 26-28, 2018.     210 - 218  2018  [Refereed]

    DOI

  • Exploring uncertainty in GitHub OSS projects: when and how do developers face uncertainty?

    Naoyasu Ubayashi, Hokuto Muraoka, Daiki Muramoto, Yasutaka Kamei, Ryosuke Sato

    Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ICSE 2018, Gothenburg, Sweden, May 27 - June 03, 2018     272 - 273  2018  [Refereed]

    DOI

  • Automatic topic classification of test cases using text mining at an Android smartphone vendor.

    Junji Shimagaki, Yasutaka Kamei, Naoyasu Ubayashi, Abram Hindle

    Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018, Oulu, Finland, October 11-12, 2018     32:1-32:10 - 10  2018  [Refereed]

    DOI

  • An empirical study on weighting techniques for open source software assessment models

    Daito Nakano, Yasutaka Kamei, Ryosuke Sato, Ubayashi Naoyasu, Shuichi Takayama, Takashi Iwasaki

    Computer Software   35 ( 4 ) 136 - 143  2018

     View Summary

    © 2018 IEEE Computer Society. All Rights Reserved. It is desirable for software companies to assess the quality of open source software (OSS) in order to avoid degradation of product quality due to the quality of OSS. In this study, we conduct a questionnaire survey to understand which quality are required by developers for OSS in each development type and assess the quality of OSS when considering the results of the questionnaire survey. We target the OSS systems used in the development projects of Fujitsu Kyushu Network Technologies Limited. When comparing the questionnaire result with each development type, with five questions, there is a difference of 20% or more in proportion that "Important" or "Somewhat important" is answered. We set the weight for each evaluation item based on the questionnaire for each development type, and as a result of evaluating 6 OSS systems, we find that our approach detects 7 items from 12 items that developers evaluated as risky.

  • Toward automatic program repair using knowledge extracted from stack overflow

    Masayuki Hirose, Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato

    Computer Software   35 ( 4 ) 144 - 150  2018

     View Summary

    © 2018 IEEE Computer Society. All Rights Reserved. In this paper, we investigate the possibility and effectiveness of the approach to generating bug-fixing patterns extracted from Stack Overflow, which is a question and answer web site for programming. To do so, we collect 984,533 posts with the Android tag in Stack Overflow and extract top 10,000 ones related to the tag. Results show that (1) there are 28 posts that would be able to generate bug-fixing patterns, (2) there are 42 posts that are useful to fix bugs, and (3) those 42 posts include bug fixing patterns that are not supported by a previous study (PAR: Pattern-based Automatic program Repair).

  • 機械学習工学研究会キックオフシンポジウム参加報告

    鵜林 尚靖, 鷲崎 弘宜, 鄭 顕志

    Computer Software   35 ( 3 ) 3_96 - 3_101  2018  [Refereed]

    DOI

  • Introduction to the Special Issue on Practical IT Education

    UBAYASHI Naoyasu, YOSHIDA Norihiro, IGAKI Hiroshi, OKUBO Takao, OBA Michiko, KUMENO Fumihiro, MORIMOTO Chikako, YOSHIOKA Nobukazu

    Computer Software   35 ( 1 ) 1_2 - 1_2  2018

    DOI CiNii

  • 宣言的な可変性記述によるA/Bテストの自動化 [FOSE2016 推薦レター論文]

    渡辺 啓介, 深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高

    日本ソフトウェア科学会誌 コンピュータソフトウェア   34 ( 4 ) 61 - 67  2017.08  [Refereed]  [Domestic journal]

  • IArch-U: Interface-Centric Integrated Uncertainty-Aware Development Environment

    Keisuke Watanabe, Naoyasu Ubayashi, Takuya Fukamachi, Shunya Nakamura, Hokuto Muraoka, Yasutaka Kamei

    Proceedings - 2017 IEEE/ACM 9th International Workshop on Modelling in Software Engineering, MiSE 2017     40 - 46  2017.06  [Refereed]

     View Summary

    Uncertainty can appear in all aspects of software development: Uncertainty in requirements analysis, design decisions, implementation and testing. If uncertainty can be dealt with modularly, we can add or delete uncertain concerns to/from models, code and tests whenever these concerns arise or are fixed to certain concerns. To deal with this problem, we developed iArch-U, an IDE (Integrated Development Environment) for managing uncertainty modularly in all phases in software development. In this paper, we introduce an overview of iArch-U. The iArch-U IDE is open source software and can be downloaded from GitHub.

    DOI

  • Industry Application of Software Development Task Measurement System: TaskPit

    Pawin Suthipornopas, Pattara Leelaprute, Akito Monden, Hidetake Uwano, Yasutaka Kamei, Naoyasu Ubayashi, Kenji Araki, Kingo Yamada, Ken-ichi Matsumoto

    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS   E100D ( 3 ) 462 - 472  2017.03  [Refereed]

     View Summary

    To identify problems in a software development process, we have been developing an automated measurement tool called TaskPit, which monitors software development tasks such as programming, testing and documentation based on the execution history of software applications. This paper introduces the system requirements, design and implementation of TaskPit; then, presents two real-world case studies applying TaskPit to actual software development. In the first case study, we applied TaskPit to 12 software developers in a certain software development division. As a result, several concerns (to be improved) have been revealed such as (a) a project leader spent too much time on development tasks while he was supposed to be a manager rather than a developer, (b) several developers rarely used e-mails despite the company's instruction to use e-mail as much as possible to leave communication records during development, and (c) several developers wrote too long e-mails to their customers. In the second case study, we have recorded the planned, actual, and self reported time of development tasks. As a result, we found that (d) there were unplanned tasks in more than half of days, and (e) the declared time became closer day by day to the actual time measured by TaskPit. These findings suggest that TaskPit is useful not only for a project manager who is responsible for process monitoring and improvement but also for a developer who wants to improve by him/herself.

    DOI

  • Poster: Automated A/B Testing with Declarative Variability Expressions

    Keisuke Watanabe, Takuya Fukamachi, Naoyasu Ubayashi, Yasutaka Kamei

    10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS - ICSTW 2017     387 - 388  2017  [Refereed]

     View Summary

    A/B testing is the experiment strategy, which is often used on web or mobile application development. In A/B testing, a developer has to implement multiple variations of application, assign each variation to a subset of the entire user population randomly, and analyze log data to decide which variation should be used as a final product. Therefore, it is challenging to keep the application code clean in A/B testing, because defining variations of software or assigning user to each variation needs the modification of code. In fact there are some existing tools to approach this problem. Considering such a context of A/B testing research, we propose the solution based on the interface Archface-U and AOP (Aspect Oriented Programming) which aims to minimize the complication of code in A/B testing.

    DOI

  • 組込みシステム分野

    鵜林 尚靖, 福田 晃

    Computer Software   34 ( 1 ) 1_12 - 1_17  2017  [Refereed]

    DOI

  • フォーラム特集「実践的IT教育」の編集にあたって

    粂野 文洋, 鵜林 尚靖, 吉田 則裕

    Computer Software   34 ( 1 ) 1_2 - 1_2  2017

    DOI

  • 宣言的な可変性記述によるA/Bテストの自動化

    渡辺 啓介, 深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高

    Computer Software   34 ( 4 ) 4_61 - 4_67  2017  [Refereed]

     View Summary

    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.

    DOI

  • Report on ER 2016

    NAKAGAWA Hiroyuki, KOBAYASHI Tsutomu, HAYASHI Shinpei, YOSHIOKA Nobukazu, UBAYASHI Naoyasu

    Computer Software   34 ( 3 ) 3_75 - 3_80  2017  [Refereed]

    DOI CiNii

  • Studying just-in-time defect prediction using cross-project models

    Yasutaka Kamei, Takafumi Fukushima, Shane McIntosh, Kazuhiro Yamashita, Naoyasu Ubayashi, Ahmed E. Hassan

    EMPIRICAL SOFTWARE ENGINEERING   21 ( 5 ) 2072 - 2106  2016.10  [Refereed]

     View Summary

    Unlike traditional defect prediction models that identify defect-prone modules, Just-In-Time (JIT) defect prediction models identify defect-inducing changes. As such, JIT defect models can provide earlier feedback for developers, while design decisions are still fresh in their minds. Unfortunately, similar to traditional defect models, JIT models require a large amount of training data, which is not available when projects are in initial development phases. To address this limitation in traditional defect prediction, prior work has proposed cross-project models, i.e., models learned from other projects with sufficient history. However, cross-project models have not yet been explored in the context of JIT prediction. Therefore, in this study, we empirically evaluate the performance of JIT models in a cross-project context. Through an empirical study on 11 open source projects, we find that while JIT models rarely perform well in a cross-project context, their performance tends to improve when using approaches that: (1) select models trained using other projects that are similar to the testing project, (2) combine the data of several other projects to produce a larger pool of training data, and (3) combine the models of several other projects to produce an ensemble model. Our findings empirically confirm that JIT models learned using other projects are a viable solution for projects with limited historical data. However, JIT models tend to perform best in a cross-project context when the data used to learn them are carefully selected.

    DOI

  • The Impact of Task Granularity on Co-evolution Analyses

    Keisuke Miura, Shane McIntosh, Yasutaka Kamei, Ahmed E. Hassan, Naoyasu Ubayashi

    International Symposium on Empirical Software Engineering and Measurement   08-09-   47:1-47:10  2016.09  [Refereed]

     View Summary

    Background: Substantial research in the software evolution field aims to recover knowledge about development from the project history that is archived in repositories, such as a Version Control System (VCS). However, the data that is archived in these repositories can be analyzed at different levels of granularity. Although software evolution is a well-studied phenomenon at the revision-level, revisions may be too fine-grained to accurately represent development tasks. Aim: In this paper, we set out to understand the impact that the revision granularity has on co-change analyses. Method: We conduct an empirical study of 14 open source systems that are developed by the Apache Software Foundation. To understand the impact that the revision granularity may have on co-change activity, we study work items, i.e., logical groups of revisions that address a single issue. Results: We find that work item grouping has the potential to impact co-change activity, since 29% of work items consist of 2 or more revisions in 7 of the 14 studied systems. Deeper quantitative analysis shows that, in 7 of the 14 studied systems: (1) 11% of largest work items are entirely composed of small revisions, and would be missed by traditional approaches to filter or analyze large changes, (2) 83% of revisions that co-change under a single work item cannot be grouped using the typical configuration of the sliding time window technique and (3) 48% of work items that involve multiple developers cannot be grouped at the revision-level. Conclusions: Since the work item granularity is the natural means that practitioners use to separate development tasks, future software evolution studies, especially co-change analyses, should be conducted at the work item level.

    DOI

  • Measuring difficulty of program comprehension based on brain activation

    Takao Nakagawa, Kenichi Matsumoto, Yasutaka Kamei, Naoyasu Ubayashi, Hidetake Uwano, Akito Monden

    Computer Software   33 ( 2 ) 78 - 89  2016.05  [Refereed]

     View Summary

    This paper extends our previous study (letter paper), which quantifies the difficulty of program comprehension based on brain activation measured by NIRS (Near Infra-Red Spectroscopy) during source code reading. We performed controlled experiments with 20 subjects. 3 of 20 subjects could not complete the measurement. We found that: (1) 16 of 17 shows strong brain activation during reading of obfuscated program (binomial test, p < 0:01) and (2) subjective evaluation of difficulty is correlated with brain activation (Spearman's correlation coefficient=0.46, p < 0:01).

  • A review and comparison of methods for determining the best analogies in analogy-based software effort estimation

    Bodin Chinthanet, Pattara Leelaprute, Arnon Rungsawang, Passakorn Phannachitta, Naoyasu Ubayashi, Yasutaka Kamei, Kenichi Matsumoto

    Proceedings of the ACM Symposium on Applied Computing   04-08-   1554 - 1557  2016.04  [Refereed]

     View Summary

    Analogy-based effort estimation (ABE) is a commonly used software development effort estimation method. The processes of ABE are based on a reuse of effort values from similar past projects, where the appropriate numbers of past projects (k values) to be reused is one of the long-standing debates in ABE research studies. To date, many approaches to find this k value have been continually proposed. One important reason for this inconclusive debate is that different studies appear to produce different conclusions of the k value to be appropriate. Therefore, in this study, we revisit 8 common approaches to the k value being most appropriate in general situations. With a more robust and comprehensive evaluation methodology using 5 robust error measures subject to the Wilcoxon rank-sum statistical test, we found that conflicting results in the previous studies were not mainly due to the use of different methodologies nor different datasets, but the performance of the different approaches are actually varied widely.

    DOI

  • Magnet or sticky? Measuring project characteristics from the perspective of developer attraction and retention

    Kazuhiro Yamashita, Yasutaka Kamei, Shane McIntosh, Ahmed E. Hassan, Naoyasu Ubayashi

    Journal of Information Processing   24 ( 2 ) 339 - 348  2016.03  [Refereed]

     View Summary

    Open Source Software (OSS) is vital to both end users and enterprises. As OSS systems are becoming a type of infrastructure, long-term OSS projects are desired. For the survival of OSS projects, the projects need to not only retain existing developers, but also attract new developers to grow. To better understand how projects retain and attract contributors, our preliminary study aimed to measure the personnel attraction and retention of OSS projects using a pair of population migration metrics, called Magnet (personnel attraction) and Sticky (retention) metrics. Because the preliminary study analyzed only 90 projects and the 90 projects are not representative of GitHub, this paper extend the preliminary study to better understand the generalizability of the results by analyzing 16,552 projects of GitHub. Furthermore, we also add a pilot study to investigate the typical duration between releases to find more appropriate release duration. The study results show that (1) approximately 23% of developers remain in the same projects that the developers contribute to, (2) the larger projects are likely to attract and retain more developers, (3) 53% of terminal projects eventually decay to a state of fewer than ten developers and (4) 55% of attractive projects remain in an attractive category.

    DOI

  • Empirical Evaluation of Cross-Release Effort-Aware Defect Prediction Models

    Kwabena Ebo Bennin, Koji Toda, Yasutaka Kamei, Jacky Keung, Akito Monden, Naoyasu Ubayashi

    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2016)     214 - 221  2016  [Refereed]

     View Summary

    To prioritize quality assurance efforts, various fault prediction models have been proposed. However, the best performing fault prediction model is unknown due to three major drawbacks: (1) comparison of few fault prediction models considering small number of data sets, (2) use of evaluation measures that ignore testing efforts and (3) use of n-fold cross validation instead of the more practical cross-release validation. To address these concerns, we conducted cross-release evaluation of 11 fault density prediction models using data sets collected from 2 releases of 25 open source software projects with an effort-aware performance measure known as Norm(P-opt). Our result shows that, whilst M5 and K* had the best performances; they were greatly influenced by the percentage of faulty modules present and size of data set. Using Norm(P-opt) produced an overall average performance of more than 50% across all the selected models clearly indicating the importance of considering testing efforts in building fault-prone prediction models.

    DOI

  • Thresholds for Size and Complexity Metrics: A Case Study from the Perspective of Defect Density

    Kazuhiro Yamashita, Changyun Huang, Meiyappan Nagappan, Yasutaka Kamei, Audris Mockus, Ahmed E. Hassan, Naoyasu Ubayashi

    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2016)     191 - 201  2016  [Refereed]

     View Summary

    Practical guidelines on what code has better quality are in great demand. For example, it is reasonable to expect the most complex code to be buggy. Structuring code into reasonably sized files and classes also appears to be prudent. Many attempts to determine (or declare) risk thresholds for various code metrics have been made. In this paper we want to examine the applicability of such thresholds. Hence, we replicate a recently published technique for calculating metric thresholds to determine high-risk files based on code size (LOC and number of methods), and complexity (cyclomatic complexity and module interface coupling) using a very large set of open and closed source projects written primarily in Java. We relate the threshold-derived risk to (a) the probability that a file would have a defect, and (b) the defect density of the files in the high risk group. We find that the probability of a file having a defect is higher in the very high-risk group with a few exceptions. This is particularly pronounced when using size thresholds. Surprisingly, the defect density was uniformly lower in the very high-risk group of files. Our results suggest that, as expected, less code is associated with fewer defects. However, the same amount of code in large and complex files was associated with fewer defects than when located in smaller and less complex files. Hence we conclude that risk thresholds for size and complexity metrics have to be used with caution if at all. Our findings have immediate practical implications: the redistribution of Java code into smaller and less complex files may be counterproductive.

    DOI

  • Why are Commits being Reverted?

    Junji Shimagaki, Yasutaka Kamei, Shane McIntosh, David Pursehouse, Naoyasu Ubayashi

    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016)     301 - 311  2016  [Refereed]

     View Summary

    Software development is a cyclic process of integrating new features while introducing and fixing defects. During development, commits that modify source code files are uploaded to version control systems. Occasionally, these commits need to be reverted, i.e., the code changes need to be completely backed out of the software project. While one can often speculate about the purpose of reverted commits (e.g., the commit may have caused integration or build problems), little empirical evidence exists to substantiate such claims. The goal of this paper is to better understand why commits are reverted in large software systems. To that end, we quantitatively and qualitatively study two proprietary and four open source projects to measure: (1) the proportion of commits that are reverted, (2) the amount of time that commits that are eventually reverted linger within a codebase, and (3) the most frequent reasons why commits are reverted. Our results show that 1%-5% of the commits in the studied systems are reverted. Those commits that are eventually reverted linger within the studied codebases for 1-35 days (median). Furthermore, we identify 13 common reasons for reverting commits, and observe that the frequency of reverted commits of each reason varies broadly from project to project. A complementary qualitative analysis suggests that many reverted commits could have been avoided with better team communication and change awareness. Our findings made Sony Mobile's stakeholders aware that internally reverted commits can be reduced by paying more attention to their own changes. On the other hand, externally reverted commits could be minimized only if external stakeholders are involved to improve inter-company communication or requirements elicitation.

    DOI

  • A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile

    Junji Shimagaki, Yasutaka Kamei, Shane Mcintosh, Ahmed E. Hassan, Naoyasu Ubayashi

    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C)     212 - 221  2016  [Refereed]

     View Summary

    Nowadays, a flexible, lightweight variant of the code review process (i.e., the practice of having other team members critique software changes) is adopted by open source and pro-prietary software projects. While this flexibility is a blessing (e.g., enabling code reviews to span the globe), it does not mandate minimum review quality criteria like the formal code inspections of the past. Recent work shows that lax reviewing can impact the quality of open source systems. In this paper, we investigate the impact that code reviewing practices have on the quality of a proprietary system that is developed by on Mobile. We begin by replicating open source analyses of the relationship between software quality (as approximated by post-release defect-proneness) and: (1) code review coverage, i.e., the proportion of code changes that have been reviewed and (2) code review participation, i.e., the degree of reviewer involvement in the code review process. We also perform a qualitative analysis, with a survey of 93 stakeholders, semi-structured interviews with 15 stakeholders, and a follow-up survey of 25 senior engineers. Our results indicate that while past measures of review coverage and participation do not share a relationship with defect-proneness at Sony Mobile, reviewing measures that are aware of the Sony Mobile development context are associated with defect-proneness. Our results have lead to improvements of the Sony Mobile code review process.

    DOI

  • Investigating the Effects of Balanced Training and Testing Datasets on Effort-Aware Fault Prediction Models

    Kwabena Ebo Bennin, Jacky Keung, Akito Monden, Yasutaka Kamei, Naoyasu Ubayashi

    PROCEEDINGS 2016 IEEE 40TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS, VOL 1     154 - 163  2016  [Refereed]

     View Summary

    To prioritize software quality assurance efforts, fault prediction models have been proposed to distinguish faulty modules from clean modules. The performances of such models are often biased due to the skewness or class imbalance of the datasets considered. To improve the prediction performance of these models, sampling techniques have been employed to rebalance the distribution of fault-prone and non-fault-prone modules. The effect of these techniques have been evaluated in terms of accuracy/geometric mean/F1-measure in previous studies; however, these measures do not consider the effort needed to fix faults. To empirically investigate the effect of sampling techniques on the performance of software fault prediction models in a more realistic setting, this study employs Norm(Popt), an effort-aware measure that considers the testing effort. We performed two sets of experiments aimed at (1) assessing the effects of sampling techniques on effort-aware models and finding the appropriate class distribution for training datasets (2) investigating the role of balanced training and testing datasets on performance of predictive models. Of the four sampling techniques applied, the over-sampling techniques outperformed the under-sampling techniques with Random Over-sampling performing best with respect to the Norm(Popt) evaluation measure. Also, performance of all the prediction models improved when sampling techniques were applied between the rates of (20-30)% on the training datasets implying that a strictly balanced dataset (50% faulty modules and 50% clean modules) does not result in the best performance for effort-aware models. Our results also indicate that performances of effort-aware models are significantly dependent on the proportions of the two types of the classes in the testing dataset. Models trained on moderately balanced datasets are more likely to withstand fluctuations in performance as the class distribution in the testing data varies.

    DOI

  • Using Analytics to Quantify Interest of Self-Admitted Technical Debt.

    Yasutaka Kamei, Everton da, S. Maldonado, Emad Shihab, Naoyasu Ubayashi

    Joint Proceedings of the 4th International Workshop on Quantitative Approaches to Software Quality (QuASoQ 2016) and 1st International Workshop on Technical Debt Analytics (TDA 2016) co-located with the 23rd Asia-Pacific Software Engineering Conference (A     68 - 71  2016  [Refereed]

  • 脳活動に基づくプログラム理解の困難さ測定

    中川 尊雄, 亀井 靖高, 上野 秀剛, 門田 暁人, 鵜林 尚靖, 松本 健一

    コンピュータ ソフトウェア   33 ( 2 ) 78 - 89  2016  [Refereed]

    DOI

  • An empirical study of the relationship between the frequency of crash reports and the linkage with bug reports

    Hikari Kosuda, Yasutaka Kamei, Naoyasu Ubayashi

    Computer Software   32 ( 4 ) 131 - 140  2015.12

     View Summary

    This paper studies how a developer uses crash reports sent from users in order to encourage the users to send the crash reports. This paper could contribute to what the developers understand the fault occurrence in user environment more precisely (for developers) and what the faults that users suffer would be preferentially addressed (for users). We analyze the relationship between the frequency of the crash reports in a crash repository and the probability of linkages of the crash reports and issue reports in Bugzilla. The results using the dataset collected from Firefox show some findings such as 1) 63% of crash reports are linked to issue reports and 2) 90% of the linked crash reports are linked to issue reports up to the 1,000 crash reports.

  • クラッシュレポートの送信頻度と不具合との関連付けに関する実証的評価

    小須田 光, 亀井 靖高, 鵜林 尚靖

    日本ソフトウェア科学会誌 コンピュータソフトウェア   32 ( 4 ) 131 - 140  2015.12  [Refereed]  [Domestic journal]

  • Revisiting the Applicability of the Pareto Principle to Core Development Teams in Open Source Software Projects

    Kazuhiro Yamashita, Shane McIntosh, Yasutaka Kamei, Ahmed E. Hassan, Naoyasu Ubayashi

    14TH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE 2015)     46 - 55  2015  [Refereed]

     View Summary

    It is often observed that the majority of the development work of an Open Source Software (OSS) project is contributed by a core team, i.e., a small subset of the pool of active developers. In fact, recent work has found that core development teams follow the Pareto principle roughly 80% of the code contributions are produced by 20% of the active developers. However, those findings are based on samples of between one and nine studied systems. In this paper, we revisit prior studies about core developers using 2,496 projects hosted on GitHub. We find that even when we vary the heuristic for detecting core developers, and when we control for system size, team size, and project age: (1) the Pareto principle does not seem to apply for 40%-87% of GitHub projects; and (2) more than 88% of GitHub projects have fewer than 16 core developers. Moreover, we find that when we control for the quantity of contributions, bug fixing accounts for a similar proportion of the contributions of both core (18%-20%) and non-core developers (21%-22%). Our findings suggest that the Pareto principle is not compatible with the core teams of many GitHub projects. In fact, several of the studied GitHub projects are susceptible to the "bus factor," where the impact of a core developer leaving would be quite harmful.

    DOI

  • Conquering Uncertainty in Java Programming

    Takuya Fukamachi, Naoyasu Ubayashi, Shintaro Hosoai, Yasutaka Kamei

    2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol 2     823 - 824  2015  [Refereed]

     View Summary

    Uncertainty in programming is one of the challenging issues to be tackled, because it is error-prone for many programmers to temporally avoid uncertain concerns only using simple language constructs such as comments and conditional statements. This paper proposes ucJava, a new Java programming environment for conquering uncertainty. Our environment provides a modular programming style for uncertainty and supports test-driven development taking uncertainty into consideration.

    DOI

  • Modularity for Uncertainty

    Takuya Fukamachi, Naoyasu Ubayashi, Shintaro Hosoai, Yasutaka Kamei

    2015 IEEE/ACM 7th International Workshop on Modeling in Software Engineering     7 - 12  2015  [Refereed]

     View Summary

    Uncertainty can appear in all aspects of software development: uncertainty in requirements analysis, design decisions, implementation, and testing. As the research on uncertainty is so young, there are many issues to be tackled. Modularity for Uncertainty is one of them. If uncertainty can be dealt with modularly, we can add or delete uncertain concerns to/from models, code, and tests whenever these concerns arise or are fixed to certain concerns. To deal with this challenging issue, we propose a modularization mechanism for uncertainty. Agile methods embrace change to accept changeable user requirements. On the other hand, our approach embraces uncertainty to support exploratory development. This paper sets out a focused research agenda for uncertainty in terms of the new modularity vision.

    DOI

  • Automated DSL Construction Based on Software Product Lines

    Changyun Huang, Ataru Osaka, Yasutaka Kamei, Naoyasu Ubayashi

    MODELSWARD 2015 PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT     247 - 254  2015  [Refereed]

     View Summary

    DSL (Domain-Specific Language) is one of the important approaches for software abstraction. In the past decades, DSLs have been provided by expert engineers familiar with domain knowledge and programming language processors. It is not easy for ordinary programmers to construct DSLs for their own purposes. To deal with this problem, we propose a language workbench called Argyle that can automatically generate a DSL by only specifying a set of functions needed to the DSL and an execution platform supported by the DSL. Argyle is based on software product lines and consists of the following two steps: 1) development of the core assets for constructing a family of DSLs and 2) DSL configuration using these core assets. To demonstrate the effectiveness of our approach, we developed a prototype DSL for supporting MSR (Mining Software Repositories), the most active research field in software engineering.

  • Uncertainty-aware architectural interface

    Naoyasu Ubayashi, Di Ai, Peiyuan Li, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei

    9th International Workshop on Advanced Modularization Techniques, AOAsia 2014 - Proceedings     4 - 6  2014.11  [Refereed]

     View Summary

    In most software development projects, design models tend to contain uncertainty, because all of the design concerns cannot be captured at the early development phase. It is preferable to be able to check consistency or traceability among design models and programs even if they contain uncertain concerns. To deal with this problem, we propose the notion of uncertainty-aware Archface, an interface mechanism exposing a set of architectural points that should be shared between design and code. We can explicitly describe uncertainty in design models or programs by specifying uncertain architectural points.

    DOI

  • Sketch-Based gradual model-driven development

    Peiyuan Li, Naoyasu Ubayashi, Di Ai, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei

    International Workshop on Innovative Software Development Methodologies and Practices, InnoSWDev 2014 - Proceedings     100 - 105  2014.11  [Refereed]

     View Summary

    This paper proposes an abstraction-aware reverse engineering method in which a developer just makes a mark on an important code region as if he or she draws a quick sketch on the program list. A support tool called iArch slices a program from marked program points and generates an abstract design model faithful to the intention of the developer. The developer can modify the design model and re-generate the code again while preserving the abstraction level and the traceability. Archface, an interface mechanism between design and code, plays an important role in abstraction-aware traceability check. If the developer wants to obtain a more concrete design model from the code, he or she only has to make additional marks on the program list. We can gradually transition to model-driven development style.

    DOI

  • An empirical study of just-in-time defect prediction using cross-project models

    Takafumi Fukushima, Yasutaka Kamei, Shane McIntosh, Kazuhiro Yamashita, Naoyasu Ubayashi

    11th Working Conference on Mining Software Repositories, MSR 2014 - Proceedings     172 - 181  2014.05  [Refereed]

     View Summary

    Prior research suggests that predicting defect-inducing changes, i.e., Just-In-Time (JIT) defect prediction is a more practical alternative to traditional defect prediction techniques, providing immediate feedback while design decisions are still fresh in the minds of developers. Unfortunately, similar to traditional defect prediction models, JIT models require a large amount of training data, which is not available when projects are in initial development phases. To address this flaw in traditional defect prediction, prior work has proposed cross-project models, i.e., models learned from older projects with sufficient history. However, cross-project models have not yet been explored in the context of JIT prediction. Therefore, in this study, we empirically evaluate the performance of JIT cross-project models. Through a case study on 11 open source projects, we find that in a JIT cross-project context: (1) high performance within-project models rarely perform well
    (2) models trained on projects that have similar correlations between predictor and dependent variables often perform well
    and (3) ensemble learning techniques that leverage historical data from several other projects (e.g., voting experts) often perform well. Our findings empirically confirm that JIT cross-project models learned using other projects are a viable solution for projects with little historical data. However, JIT cross-project models perform best when the data used to learn them is carefully selected.

    DOI

  • Magnet or sticky? An OSS project-by-project typology

    Kazuhiro Yamashita, Shane McIntosh, Yasutaka Kamei, Naoyasu Ubayashi

    11th Working Conference on Mining Software Repositories, MSR 2014 - Proceedings     344 - 347  2014.05  [Refereed]

     View Summary

    For Open Source Software (OSS) projects, retaining existing contributors and attracting new ones is a major concern. In this paper, we expand and adapt a pair of population migration metrics to analyze migration trends in a collection of open source projects. Namely, we study: (1) project stickiness, i.e., its tendency to retain existing contributors and (2) project magnetism, i.e., its tendency to attract new contributors. Using quadrant plots, we classify projects as attractive (highly magnetic and sticky), stagnant (highly sticky, weakly magnetic), fluctuating (highly magnetic, weakly sticky), or terminal (weakly magnetic and sticky). Through analysis of the MSR challenge dataset, we find that: (1) quadrant plots can effectively identify at-risk projects, (2) stickiness is often motivated by professional activity and (3) transitions among quadrants as a project ages often coincides with interesting events in the evolution history of a project.

    DOI

  • 上流工程での活用実績を用いたソフトウェア開発工数見積もり方法の定量的評価

    角田 雅照, 戸田 航史, 伏田 享平, 亀井 靖高, Meiyappan Nagappan, 鵜林 尚靖

    日本ソフトウェア科学会誌 コンピュータソフトウェア   31 ( 2 ) 129 - 143  2014.04  [Refereed]  [Domestic journal]

  • An IDE for Supporting Fluid Abstraction

    Di Ai, Naoyasu Ubayashi, Peiyuan Li, Daisuke Yamamoto, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei

    13th International Conference on Modularity (Modularity'14), Demonstrations     13 - 16  2014.04  [Refereed]  [International journal]

  • Empirical Evaluation of Software Development Effort Estimation Based on Upper Phase Development Activity

    TSUNODA Masateru, TODA Koji, FUSHIDA Kyohei, KAMEI Yasutaka, NAGAPPAN Meiyappan, UBAYASHI Naoyasu

    Computer Software   31 ( 2 ) 2_129 - 2_143  2014

     View Summary

    We focus on effort estimation based on the effort for early phase activities, and built effort estimation models using early phase effort as an explanatory variable, and compared the estimation accuracies of these models to the effort estimation models based on software size. In addition, we built estimation models using both early phase effort and software size. In our experiment, we used ISBSG dataset, which was collected from software development companies, and regarded planning phase effort and requirement analysis effort as early phase effort. The result of the experiment showed that when both software size and sum of planning and requirement analysis phase effort were used as explanatory variables, the estimation accuracy was most improved (Average Balanced Relative Error was improved to 75.4% from 148.4%).

    DOI CiNii

  • Abstraction-aware verifying compiler for yet another mdd

    Naoyasu Ubayashi, Di Ai, Peiyuan Li, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei

    ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering     557 - 562  2014  [Refereed]

     View Summary

    This paper rethinks both modularity and compilation in the light of abstraction between design and implementation. We propose a new compilation approach called abstractionaware verifying compiler, in which abstraction is the target of compilation. Both a design model and its code are inputted as the first-class software modules to the compiler.

    DOI

  • iArch - An IDE for Supporting Abstraction-aware Design Traceability

    Di Ai, Naoyasu Ubayashi, Peiyuan Li, Shintaro Hosoai, Yasutaka Kamei

    PROCEEDINGS OF THE 2014 2ND INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2014)     442 - 447  2014  [Refereed]

     View Summary

    A Abstraction has been an important issue in software engineering. However, it is not easy to design an architecture reflecting the intention of developers and implement the result of a design as a program while preserving an adequate abstraction level. To deal with this problem, we provide iArch, an IDE (Integrated Development Environment) for supporting abstraction-aware traceability between design and code. The iArch IDE is based on Archface, an architectural interface mechanism exposing a set of architectural points that should be shared between design and code. An abstraction level is determined by selecting architectural points.

  • Early Identification of Future Committers in Open Source Software Projects

    Akinori Ihara, Yasutaka Kamei, Masao Ohira, Ahmed E. Hassan, Naoyasu Ubayashi, Ken-ichi Matsumoto

    2014 14TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2014)     47 - 56  2014  [Refereed]

     View Summary

    There exists two types of developers in Open Source Software (OSS) projects: 1) Committers who have permission to commit edited source code to the Version Control System (VCS), 2) Developers who contribute source code but cannot commit to the VCS directly. In order to develop and evolve high quality OSS, projects are always in search of new committers. OSS projects often promote strong developers to become committers. When existing committers find strong developers, they propose their promotion to a committer role. Delaying the committer-promotion might lead to strong developers departing from an OSS project and the project losing them. However early committer-promotion comes with its own slew of risks as well (e.g., the promotion of inexperienced developers). Hence, committer-promotion decisions are critical for the quality and successful evolution of OSS projects. In this paper, we examine the committer-promotion phenomena for two OSS projects (Eclipse and Firefox). We find that the amount of activities by future committers was higher than the amount of activities by developers who did not become committers). We also find that some developers are promoted to a committer role very rapidly (within a few month) while some of developers take over one year to become a committer. Finally, we develop a committer-identification model to assist OSS projects identifying future committers.

    DOI

  • Context-dependent product line engineering with lightweight formal approaches

    Naoyasu Ubayashi, Shin Nakajima, Masayuki Hirayama

    SCIENCE OF COMPUTER PROGRAMMING   78 ( 12 ) 2331 - 2346  2013.12  [Refereed]

     View Summary

    This paper proposes a new style of product line engineering methods. It focuses on constructing embedded systems that take into account the contexts such as the external physical environments. In current product line development projects, Feature Analysis is mainly conducted from the viewpoint of system configurations: how hardware and software components are configured to constitute a system. In most cases, contexts are not considered explicitly. As a result, unexpected and unfavorable behavior might emerge in a system if a developer does not recognize any possible conflicting combinations between the system and contexts. To deal with this problem, this paper provides the notion of a context-dependent product line, which is composed of the system and context lines. The former is obtained by analyzing a family of systems. The latter is obtained by analyzing features of contexts associated to the systems. The system and context lines contain reusable core assets. The configuration of selected system components and contexts can be formally checked at the specification level. In this paper, we show a development process that includes the creation of both product line assets as well as context assets. (C) 2012 Elsevier B.V. All rights reserved.

    DOI

  • MODULARITY:aosd.13 - Chairs' welcome

    Hidehiko Masuhara, Shigeru Chiba, Naoyasu Ubayashi, Jörg Kienzle, Elisa Baniassad, David H. Lorenz

    12th Annual International Conference on Aspect-Oriented Software Development, AOSD 2013     iii - iv  2013.04  [Refereed]

  • UML-based Design and Verification Method for Developing Dependable Context-aware Systems

    Naoyasu Ubayashi, Yasutaka Kamei

    1st International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2013)    2013.02  [Refereed]  [International journal]

  • Design module: A modularity vision beyond code: Not only program code but also a design model is a module

    Naoyasu Ubayashi, Yasutaka Kamei

    ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems     44 - 50  2013  [Refereed]

     View Summary

    We propose a new modularity vision to integrate design modeling with programming. A system consists of not only program code but also design models. However, design models such as UML diagrams have been treated as not modules but complementary documents. This paper provides a novel idea that treats a design model as a first-class software module termed design module. A system cannot be complied without design modules. A developer has to create and modify not only program modules but also design modules. To realize design modules, we introduce Archface, an architectural interface mechanism. Archface exposes architectural points shared between design and code. Archface plays a role as a design interface for a design module and as a program interface for a program module. Arch-face type system automatically checks the consistency between design and code. Our approach can integrate research on design modeling with research on programming in terms of modularity. Additional costs are not needed to introduce design modules, because Archface descriptions can be generated from a model editor and Archface is just an extension of the notion of program interfaces. That is, we can substitute Archface for traditional program interfaces. © 2013 IEEE.

    DOI

  • Using alloy to support feature-based DSL construction for mining software repositories

    Changyun Huang, Yasutaka Kamei, Kazuhiro Yamashita, Naoyasu Ubayashi

    ACM International Conference Proceeding Series     86 - 89  2013  [Refereed]

     View Summary

    The Mining Software Repositories (MSR) field reveals knowledge for software development by analyzing data stored in repositories such as source control and bug trace systems. In order to reveal the knowledge, MSR researchers need to perform complicated procedures iteratively. To help the complex work of MSR practitioners, we study the construction of domain specific languages (DSLs) for MSR. We have conducted feature-oriented domain analysis (FODA) on MSR and developed a DSL based on the feature model. In this paper, we expand our previous work and propose to construct not a single DSL but a DSL family. A DSL family consists of a series of DSLs with commonality in their domain but suitable to specific applications of MSR. To readily construct these DSLs, we use Alloy to encode the feature model. Our encoding includes not only the DSL features and their relations but also some composition rules that can be used to generate the syntax of DSLs. Based on this, we can automatically derive the language elements to construct DSLs suitable to specific purposes of MSR. Copyright 2013 ACM.

    DOI

  • Archface4COP: Architectural interface for context-oriented programming

    Naoyasu Ubayashi, Ai Di, Yasutaka Kamei

    Proceedings of the 5th International Workshop on Context-Oriented Programming, COP 2013    2013  [Refereed]

     View Summary

    Context-awareness plays an important role in developing flexible and evolvable applications such as self-* systems (e.g., self-adaptive, self-healing, and self-management systems). However, it is not easy to design and implement such a context-aware system, because its software architecture is dynamically changed. That is, software components constituting a system and their connection structure can be dynamically changed. As a result, it is hard to check whether or not a design model is correctly implemented and its context-dependent behavior is faithful to the design. To deal with this problem, we introduce Archface4COP, an architectural interface mechanism for COP (Context-Oriented Programming). Archface4COP exposes architectural points shared between UML-based design models and code written in COP languages. Architectural points represent COP-specific events such as layer in, layer out, layered message send, and layered message receive. These points are important to represent an abstract structure of software architecture focusing on context-awareness. We can verify whether or not a design model and its code can co-evolve each other by checking an Archface4COP interface. Copyright 2013 ACM.

    DOI

  • A large-scale empirical study of just-in-time quality assurance

    Yasutaka Kamei, Emad Shihab, Bram Adams, Ahmed E. Hassan, Audris Mockus, Anand Sinha, Naoyasu Ubayashi

    IEEE Transactions on Software Engineering   39 ( 6 ) 757 - 773  2013  [Refereed]

     View Summary

    Defect prediction models are a well-known technique for identifying defect-prone files or packages such that practitioners can allocate their quality assurance efforts (e.g., testing and code reviews). However, once the critical files or packages have been identified, developers still need to spend considerable time drilling down to the functions or even code snippets that should be reviewed or tested. This makes the approach too time consuming and impractical for large software systems. Instead, we consider defect prediction models that focus on identifying defect-prone (&amp
    risky&amp
    ) software changes instead of files or packages. We refer to this type of quality assurance activity as &amp
    Just-In-Time Quality Assurance,&amp
    because developers can review and test these risky changes while they are still fresh in their minds (i.e., at check-in time). To build a change risk model, we use a wide range of factors based on the characteristics of a software change, such as the number of added lines, and developer experience. A large-scale study of six open source and five commercial projects from multiple domains shows that our models can predict whether or not a change will lead to a defect with an average accuracy of 68 percent and an average recall of 64 percent. Furthermore, when considering the effort needed to review changes, we find that using only 20 percent of the effort it would take to inspect all changes, we can identify 35 percent of all defect-inducing changes. Our findings indicate that &amp
    Just-In-Time Quality Assurance&amp
    may provide an effort-reducing way to focus on the most risky changes and thus reduce the costs of developing high-quality software. © 1976-2012 IEEE.

    DOI

  • Domain Analysis for Mining Software Repositories: Towards Feature-Based DSL Construction

    Changyun Huang, Kazuhiro Yamashita, Yasutaka Kamei, Kenji Hisazumi, Naoyasu Ubayashi

    2013 4TH INTERNATIONAL WORKSHOP ON PRODUCT LINE APPROACHES IN SOFTWARE ENGINEERING (PLEASE)     41 - 44  2013  [Refereed]

     View Summary

    The mining software repositories (MSR) analyze data stored in software repositories and discover meaningful information to support software development. However, MSR is complex due to conducting large scale data collection with various repositories. To help practitioners perform MSR analysis, one possible way is to apply the approaches of software product line (SPL) to the MSR domain to understand variability and commonality for the domain, and to construct domain specific languages (DSLs) because DSLs have high readability to reduce the complexity of the procedure of MSR. In this paper, we construct a SQL-based DSL to support MSR and provide a systematic approach to conduct Feature-Oriented Domain Analysis (FODA) for MSR towards the construction of the DSL. We provide the syntax of the DSL and explain how to locate language elements of the DSL to the four-layer structure used in FODA.

  • Revisiting software development effort estimation based on early phase development activities.

    Masateru Tsunoda, Koji Toda, Kyohei Fushida, Yasutaka Kamei, Meiyappan Nagappan, Naoyasu Ubayashi

    Proceedings of the 10th Working Conference on Mining Software Repositories, MSR '13, San Francisco, CA, USA, May 18-19, 2013     429 - 438  2013  [Refereed]

     View Summary

    Many research projects on software estimation use software size as a major explanatory variable. However, practitioners sometimes use the ratio of effort for early phase activities such as planning and requirement analysis, to the effort for the whole development phase of the software in order to estimate effort. In this paper, we focus on effort estimation based on the effort for early phase activities. The goal of the research is to examine the relationship of early phase effort and software size with software development effort. To achieve the goal, we built effort estimation models using early phase effort as an explanatory variable, and compared the estimation accuracies of these models to the effort estimation models based on software size. In addition, we built estimation models using both early phase effort and software size. In our experiment, we used ISBSG dataset, which was collected from software development companies, and regarded planning phase effort and requirement analysis effort as early phase effort. The result of the experiment showed that when both software size and sum of planning and requirement analysis phase effort were used as explanatory variables, the estimation accuracy was most improved (Average Balanced Relative Error was improved to 75.4% from 148.4%). Based on the result, we recommend that both early phase effort and software size be used as explanatory variables, because that combination showed the high accuracy, and did not have multicollinearity issues. © 2013 IEEE.

    DOI

  • 非正常系分析マトリクスによるソフトウェア組込み製品の障害シナリオ抽出手法

    三瀬 敏朗, 新屋敷 泰史, 橋本 正明, 中谷 多哉子, 片峯 恵一, 鵜林 尚靖, 吉田 隆一

    電子情報通信学会誌   J95-D ( 11 )  2012.11  [Refereed]  [Domestic journal]

  • SMTソルバーを用いたコンテキスト指向プログラミングのためのデバッグ支援

    内尾 静, 鵜林 尚靖, 亀井 靖高

    日本ソフトウェア科学会誌 コンピュータソフトウェア   29 ( 3 )  2012.08  [Refereed]  [Domestic journal]

  • An Extensible Aspect-Oriented Modeling Environment for Constructing Domain-Specific Languages

    Naoyasu Ubayashi, Yasutaka Kamei

    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS   E95D ( 4 ) 942 - 958  2012.04  [Refereed]

     View Summary

    AspectM, an aspect-oriented modeling (ADM) language, provides not only basic modeling constructs but also an extension mechanism called metamodel access protocol (MMAP) that allows a modeler to modify the metamodel. MMAP consists of metamodel extension points, extension operations, and primitive predicates for navigating the metamodel. Although the notion of MMAP is useful, it needs tool support. This paper proposes a method for implementing a MMAP-based AspectM support tool. It consists of model editor, model weaver, and model verifier. We introduce the notion of edit-time structural reflection and extensible model weaving. Using these mechanisms, a modeler can easily construct domain-specific languages (DSLs). We show a case study using the AspectM support tool and discuss the effectiveness of the extension mechanism provided by MMAP. As a case study, we show a UML-based DSL for describing the external contexts of embedded systems.

    DOI

  • dcNavi: デバッグを支援する関心事指向推薦システム

    塩塚 大, 鵜林 尚靖, 亀井 靖高

    情報処理学会論文誌   53 ( 2 )  2012.02  [Refereed]  [Domestic journal]

  • A Candidate Committer Prediction Based on Developer Activities in Open Source Software Projects

    IHARA Akinori, KAMEI Yasutaka, OHIRA Masao, MATSUMOTO Ken-ichi, UBAYASHI Naoyasu

    電子情報通信学会論文誌   95 ( 2 ) 237 - 249  2012.02  [Refereed]

    CiNii

  • An investigation on software bug-fix prediction for open source software projects - A case study on the eclipse project

    Akinori Ihara, Yasutaka Kamei, Akito Monden, Masao Ohira, Jacky Wai Keung, Naoyasu Ubayashi, Ken Ichi Matsumoto

    Proceedings - Asia-Pacific Software Engineering Conference, APSEC   2   112 - 119  2012

     View Summary

    Open source software projects (OSS) receive a large number of bug reports from various contributors and developers alike, where many planned to be fixed by OSS developers. Given the next release cycle information, OSS users can be more effective and flexible in planning and to fix the bugs that are not to be fixed in the next release. It is therefore vital for OSS users to learn which bugs the OSS developers will fix, unfortunately such information may not be readily available, nor there is a prediction framework exists to serve such an important purpose. In this study, we would like to answer the question 'Will this bug be fixed by the next release?', this is addressed by building a bug fixing prediction model based on the characteristics of a bug-related metric and by incorporating the progress of bug fixing measures such as status, period and developer metrics to provide aggregated information for the OSS users. The proposed model calculates the deviance of each variable to analyze the most important metrics, and it has been experimented using a case study with Eclipse platform. Result shows a bug fixing prediction model using both base metrics and state metrics provide significantly better performance in precision (139%) and recall (114\%) than the standard model using only base metrics. © 2012 IEEE.

    DOI

  • QORAL: An external domain-specific language for mining software repositories

    Hiroki Nakamura, Rina Nagano, Kenji Hisazumi, Yasutaka Kamei, Naoyasu Ubayashi, Akira Fukuda

    Proceedings - 2012 4th International Workshop on Empirical Software Engineering in Practice, IWESEP 2012     23 - 29  2012

     View Summary

    The mining software repositories (MSR) field integrates and analyzes data stored in repositories such as source control and bug repositories to provide support to practitioners. In order to provide useful information to practitioners, MSR researchers need to perform tasks iteratively, these tasks include extracting data from repositories, transforming them into specific data formats, and loading them into the statistical analysis tool. These tasks require a significant amount of man hours to implement and execute according to the requirements of the researchers. This paper proposes an external domain-specific language (DSL) called QORAL to facilitate the performance of multiple iterations and environment development. The results from a questionnaire used to evaluate QORAL indicate that it is easy to understand and modify source code. © 2012 IEEE.

    DOI

  • SMT-based Debugging Support for Context-oriented Programming

    Shizuka Uchio, Naoyasu Ubayashi, Yasutaka Kamei

    Computer Software   29 ( 3 ) 108 - 114  2012  [Refereed]

     View Summary

    COP (Context-Oriented Programming) languages such as ContextJ* enable programmers to describe the context-aware behavior elegantly. The primary system behavior can be separated from the context-aware behavior. On the other hand, unfortunately, it becomes difficult to debug the programs due to the complexity of COP execution and the dependence between objects and contexts. To deal with this problem, this paper proposes CJAdviser, SMT-based debugging support for ContextJ*. In CJAdviser, the execution trace of a ContextJ* program is converted to a context dependence graph that can be analyzed by the SMT solver Yices. Using CJAdviser, we can check a variety of object-context dependencies.

  • UML4COP: UML-based DSML for context-aware systems

    Naoyasu Ubayashi, Yasutaka Kamei

    SPLASH 2012: DSM 2012 - Proceedings of the 2012 ACM Workshop on Domain-Specific Modeling     33 - 38  2012  [Refereed]

     View Summary

    Context-awareness plays an important role in developing flexible and adaptive systems. However, it is not easy to design and implement such a context-aware system, because its system configuration can be dynamically changed. This paper proposes UML4COP, a UML-based design method for COP (Context-Oriented Programming). UML4COP is a DSML (Domain-Specific Modeling Language) for designing context-aware systems. In UML4COP, each context is modeled separately and a system design model at a certain period of time is composed by merging associated contexts. Copyright © 2012 ACM.

    DOI

  • Verifiable architectural interface for supporting model-driven development with adequate abstraction level

    Naoyasu Ubayashi, Yasutaka Kamei

    2012 4th International Workshop on Modeling in Software Engineering, MiSE 2012 - Proceedings     15 - 21  2012  [Refereed]

     View Summary

    It is not easy to design software architecture reflecting the intention of developers and implement the result of design as a program while preserving the architectural correctness and adequate abstraction level. Archface, an architectural interface mechanism, plays a role as an ADL at the design phase and as a programming interface at the implementation phase. Design and code can co-evolve with Archface at the center of the development process. This paper proposes a verifiable architectural interface that can check the traceability between design and code. For this checking, we use an SMT (Satisfiability Modulo Theories) solver, a tool for deciding the satisfiability of logical formulas. Adopting our approach, we can construct MDD tools supporting adequate abstraction level when they generate code, recover a design model from code, and check the traceability between a design model and its code. © 2012 IEEE.

    DOI

  • Architectural point mapping for design traceability

    Naoyasu Ubayashi, Yasutaka Kamei

    FOAL'12 - Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages     39 - 43  2012  [Refereed]

     View Summary

    AOP can be applied to not only modularization of crosscutting concerns but also other kinds of software development processes. As one of the applications, this paper proposes a design traceability mechanism originating in join points and pointcuts. It is not easy to design software architecture reflecting the intention of developers and implement the result of design as a program while preserving the architectural correctness. To deal with this problem, we propose two novel ideas: Archpoint (Architectural point) and Archmapping (Archpoint Mapping). Archpoints are points for representing the essence of architectural design in terms of behavioral and structural aspects. By defining a set of arch-points, we can describe the inter-component structure and the message interaction among components. Archmapping is a mechanism for checking the bidirectional traceability between design and code. The traceability can be verified by checking whether archpoints in design are consistently mapped to program points in code. For this checking, we use an SMT (Satisfiability Modulo Theories) solver, a tool for deciding the satisfiability of logical formulas. The idea of archpoints, program points, and their selection originates in AOP. © 2012 ACM.

    DOI

  • Stepwise Context Boundary Exploration Using Guide Words

    Naoyasu Ubayashi, Yasutaka Kamei

    IS OLYMPICS: INFORMATION SYSTEMS IN A DIVERSE WORLD   107   218 - 233  2012  [Refereed]

     View Summary

    Most requirements elicitation methods do not explicitly provide a systematic way for deciding the boundary of the usage context that should be taken into account because it is essentially difficult to decide which context element should be included as the system requirements. If a developer explores the context boundary in an ad-hoc manner, the developer will be faced with the frame problem because there are unlimited context elements in the real world where the target system exists. There are many application domains that should take into account the frame problem: security, safety, network threats, and user interactions. To deal with this problem, this paper proposes a new type of requirements analysis method for exploring the context boundary using guide words, a set of hint words for finding a context element affecting the system behavior. The target of our method is embedded systems that can be abstracted as a sensor-and-actuator machine exchanging the physical value between a system and its context. In our method, only the value-context elements, a kind of value objects, are extracted as the associated context elements. By applying the guide words, we can explore only a sequence of context elements affecting the data value and avoid falling into the frame problem at the requirements analysis phase.

  • Using the GPGPU for Scaling Up Mining Software Repositories

    Rina Nagano, Hiroki Nakamura, Yasutaka Kamei, Bram Adams, Kenji Hisazumi, Naoyasu Ubayashi, Akira Fukuda

    2012 34TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE)     1435 - +  2012  [Refereed]

     View Summary

    The Mining Software Repositories (MSR) field integrates and analyzes data stored in repositories such as source control and bug repositories to support practitioners. Given the abundance of repository data, scaling up MSR analyses has become a major challenge. Recently, researchers have experimented with conventional techniques like a super-computer or cloud computing, but these are either too expensive or too hard to configure. This paper proposes to scale up MSR analysis using "general-purpose computing on graphics processing units" (GPGPU) on off-the-shelf video cards. In a representative MSR case study to measure co-change on version history of the Eclipse project, we find that the GPU approach is up to a factor of 43.9 faster than a CPU-only approach.

  • Translation Pattern of BPEL Process into Promela Code

    Ryosuke Nakashiro, Yasutaka Kamei, Naoyasu Ubayashi, Shin Nakajima, and Akihito Iwai

    Joint Conference of the 21th International Workshop on Software Measurement (IWSM) and the 6th International Conference on Software Process and Product Measurement (Mensura) (IWSM/MENSURA 2011)    2011.11  [International journal]

  • グローバル環境下におけるOSS開発者の情報交換に対する時差の影響

    亀井 靖高, 大平 雅雄, 伊原 彰紀, 小山 貴和子, 本 真佑, 松本 健一, 鵜林 尚靖

    情報社会学会学会誌   6 ( 2 ) 13 - 30  2011.11  [Refereed]

  • Debug Concern Navigator

    Masaru Shiozuka, Naoyasu Ubayashi, and Yasutaka Kamei

    23rd International Conference on Software Engineering and Knowledge Engineering (SEKE 2011)    2011.07  [Refereed]  [International journal]

  • Stepwise context boundary exploration using guide words

    Naoyasu Ubayashi, Yasutaka Kamei

    CEUR Workshop Proceedings   734   131 - 138  2011

     View Summary

    Most requirements elicitation methods do not explicitly provide a systematic way for deciding the boundary of the usage context that should be taken into account because it is essentially difficult to decide which context element should be included as the system requirements. If a developer explores the context boundary in an ad-hoc manner, the developer will be faced with the frame problem because there are unlimited context elements in the real world where the target system exists. There are many application domains that should take into account the frame problem: security, safety, network threats, and user interactions. To deal with this problem, this paper proposes a new type of requirements analysis method for exploring the context boundary using guide words, a set of hint words for finding a context element affecting the system behavior. The target of our method is embedded systems that can be abstracted as a sensor-and-actuator machine exchanging the physical value between a system and its context. In our method, only the value-context elements, a kind of value objects, are extracted as the associated context elements. By applying the guide words, we can explore only a sequence of context elements affecting the data value and avoid falling into the frame problem at the requirements analysis phase.

  • CJAdviser: SMT-based debugging support for ContextJ

    Shizuka Uchio, Naoyasu Ubayashi, Yasutaka Kamei

    Proceedings of the 3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011    2011  [Refereed]

     View Summary

    Context-awareness plays an important role in developing flexible and adaptive software. However, it is not easy to write context-aware programs because context cannot be treated as a module in the traditional programming languages. COP (Context-Oriented Programming) languages such as ContextJ * enable programmers to describe the context-aware behavior elegantly. The primary system behavior can be separated from the context-aware behavior. On the other hand, unfortunately, it becomes difficult to debug the programs due to the complexity of COP execution and the dependence between objects and contexts. To deal with this problem, this paper proposes CJAdviser, SMT-based debugging support for ContextJ*. In CJAdviser, the execution trace of a ContextJ* program is converted to a context dependence graph that can be analyzed by the SMT (Satisfiability Modulo Theories) solver Yices. Using CJAdviser, we can check a variety of object-context dependencies such as "Do two objects A and B exist in the Context X at the same time?". In CJAdviser, SMT is applied to not static analysis but dynamic analysis because many context-aware properties are determined at run time.

    DOI

  • A Context Analysis Method for Embedded Systems - Exploring a Requirement Boundary between a System and Its Context

    Naoyasu Ubayashi, Yasutaka Kamei, Masayuki Hirayama, Tetsuo Tamai

    2011 19TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE)     143 - 152  2011  [Refereed]

     View Summary

    Many embedded systems not only affect their context through actuators but also are affected by the context through sensors. It is important to provide a context-dependent development method for constructing safe and reliable embedded systems. However, most of the current requirements analysis methods do not explicitly provide a systematic way for deciding the boundary of the context that should be taken into account because it is essentially difficult to decide which context element should be included as the targets of requirements analysis. If a developer explores the context boundary in an ad-hoc manner, he or she will be faced with the frame problem because there are unlimited context elements in the real world where the target system exists. To deal with this problem, this paper proposes a context-dependent requirements analysis method called CAMEmb ( Context Analysis Method for Embedded systems) in which only the value-context elements are extracted as the associated context elements. Applying the guide words provided by CAMEmb, we can explore only a sequence of context elements directly or indirectly affecting the data value observed or controlled by the system sensors and actuators. Other context elements not affecting the system observation and control are not taken into account because these context elements do not affect the system behavior. Using CAMEmb and lightweight formal tools, we can explore the context boundary that guarantees the expected system behavior. We developed CAMEmbModeler, a support tool consisting of a CAMEmb-based modeling editor and a model compiler that transforms system and context models into the design model reflecting the context boundary.

  • An Empirical Study of Fault Prediction with Code Clone Metrics

    Yasutaka Kamei, Hiroki Sato, Akito Monden, Shinji Kawaguchi, Hidetake Uwano, Masataka Nagura, Kenichi Matsumoto, Naoyasu Ubayashi

    Proceedings - Joint Conference of the 21st International Workshop on Software Measurement, IWSM 2011 and the 6th International Conference on Software Process and Product Measurement, MENSURA 2011     55 - 61  2011  [Refereed]

     View Summary

    In this paper, we present a replicated study to predict fault-prone modules with code clone metrics to follow Baba's experiment [1]. We empirically evaluated the performance of fault prediction models with clone metrics using 3 datasets from the Eclipse project and compared it to fault prediction without clone metrics. Contrary to the original Baba's experiment, we could not significantly support the effect of clone metrics, i.e., the result showed that F1-measure of fault prediction was not improved by adding clone metrics to the prediction model. To explain this result, this paper analyzed the relationship between clone metrics and fault density. The result suggested that clone metrics were effective in fault prediction for large modules but not for small modules. © 2011 IEEE.

    DOI J-GLOBAL

  • 特集「未来志向のソフトウェア工学」の編集にあたって

    鵜林 尚靖, 岸 知二

    情報処理学会論文誌   vol.51 ( no.9 )  2010.09  [Invited]  [Domestic journal]

  • A Modularity Assessment Framework for Context-dependent Formal Specifications

    Naoyasu Ubayashi

    4th Workshop on Assessment of Contemporary Modularization Techniques(ACoM 2010) (Workshop at SPLC 2010)    2010.09  [Refereed]  [International journal]

  • A Case Study of Requirements Elicitation Process with Changes

    Takako Nakatani, Shozo Hori, Naoyasu Ubayashi, Keiichi Katamine, and Masaaki Hashimoto

    IEICE Transactions on Information and Systems   E93-D ( no.8 )  2010.08  [Refereed]  [International journal]

  • Aspect-Oriented Development of PHP-based Web Applications

    Shin Nakajima, Keiji Hokamura, and Naoyasu Ubayashi

    4th IEEE International Workshop on Quality Oriented Reuse of Software(QUORS 2010) (Workshop at COMPSAC 2010)    2010.07  [Refereed]  [International journal]

  • Project Management Patterns to Prevent Schedule Delay Caused by Requirements Changes

    Shozo Hori, Takako Nakatani, Keiichi Katamine, Naoyasu Ubayashi, and Masaaki Hashimoto

    IEICE Transactions on Information and Systems, vol E93-D no.4, pp.745-753   vol E93-D ( no.4 )  2010.04  [Refereed]  [International journal]

  • Project Management Patterns to Prevent Schedule Delay Caused by Requirement Elicitation

    Shozo Hori, Takako Nakatani, Keiichi Katamine, Naoyasu Ubayashi, Masaaki Hashimoto

    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS   E93D ( 4 ) 745 - 753  2010.04  [Refereed]

     View Summary

    We propose PM (Project Management) patterns to prevent schedule delays caused by changes in requirement, on empirical studies Changes or late elicitation of requirements dun rig the deign. coding and test processes are one of the most serious risks, which may delay project schedules However. changes and late elicitation of requirements are usally accepted dun rig development processes Therefore the PM methods for preventing schedule delays caused by changes and late e lie I tat ion of requirements dun its development processes are an important area of study In this study. we examined the actual conditions of various projects which succeeded in preventing schedule delays resulting from changes and late elicitation of requirements during development processes We were able to extract various typical PM techniques for preventing these schedule delays The techniques, known as "PM patterns" were also applied to other projects The patterns were arranged on a two-dimensional framework We discuss a framework of PM patterns aimed at solving the problems caused by changes in requirements.

    DOI

  • Context-Dependent Product Line Practice for Constructing Reliable Embedded Systems

    Naoyasu Ubayashi, Shin Nakajima, Masayuki Hirayama

    SOFTWARE PRODUCT LINES: GOING BEYOND   6287   1 - +  2010  [Refereed]

     View Summary

    This paper proposes a new style of product line engineering methods. It focuses on constructing embedded systems that take into account the contexts such as the external physical environments. In the current product line engineering, the feature analysis is mainly conducted from the viewpoint of system configurations: how hardware and software components are configured to constitute a system. In most cases, contexts are not considered explicitly. As a result, unexpected and unfavorable behavior might emerge in a system if a developer does not recognize any possible conflicting combinations between the system and contexts. To deal with this problem, this paper provides the notion of a context-dependent product line, which is composed of the system and context lines. The former is obtained by analyzing a family of systems. The latter is obtained by analyzing features of contexts associated to the systems. In the proposed method, each feature is described using VDM++. The configuration of selected system components and contexts can readily be checked with VDM++ Toolset.

  • Reusable aspect components for Web applications

    Keiji Hokamura, Naoyasu Ubayashi, Shin Nakajima, Akihito Iwai

    TENCON 2010: 2010 IEEE REGION 10 CONFERENCE     1059 - 1064  2010  [Refereed]

     View Summary

    Reusability is important especially in Web application development because Web applications tend to be rapidly developed and frequently modified. There are several studies to improve the reusability by adapting modular techniques in software engineering. However, the reusability brought by previous studies is restricted to limited Web applications because the techniques are deeply depended on the specific framework or architecture. In this paper, we propose an approach of defining reusable components for multiple Web applications using a domain-specific aspect-oriented (AO) mechanism based on an abstraction model common to all Web applications. As a case study to confirm the effectiveness of the approach, we present four practical examples of reusable aspect components and apply them to two real-sized open source Web applications. The result of the case study shows the domain-specific AO mechanism is an effective platform to implement reusable functionalities common to many Web applications.

  • Alloy MModel-oriented specification language with automated analysis tool

    Shin Nakajima, Naoyasu Ubayashi

    Computer Software   26 ( 3 ) 78 - 83  2009.11  [Refereed]

  • AOWP: Web-specific AOP framework for PHP

    Keiji Hokamura, Ryoto Naruse, Masaru Shiozuka, Naoyasu Ubayashi, Shin Nakajima, Akihito Iwai

    2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS     683 - 685  2009  [Refereed]

     View Summary

    Aspect-oriented programming (AOP) is a technique for modularizing crosscutting concerns (CCCs). A variety of CCCs can be found in typical Web applications. Most CCCs are scattered over Web-specific events such as page requests. AOWP, a PHP-based AOP framework, provides Web-specific aspect instantiations for dealing with session management and pointcut & advice mechanisms for capturing Web-specific events. CCCs in Web applications can be clearly modularized by introducing AOWP.

    DOI

  • Runtime Monitoring of Cross-cutting Policy

    Shin Nakajima, Naoyasu Ubayashi, Keiji Hokamura

    2009 ICSE WORKSHOP ON ASPECT-ORIENTED REQUIREMENTS ENGINEERING AND ARCHITECTURE DESIGN     20 - +  2009  [Refereed]

     View Summary

    In open systems, certain unfavorable situations due to unanticipated user behavior may be seen, which results in a violation of cross-cutting policy. This paper proposes a runtime monitoring method to check such problems. Since there is a large gap, a certain link is needed between the policy and runtime execution method. We employ a two-step checking approach; an offline symptom checking and a runtime monitoring. The ingredient to tie the two steps is a Linear-time Temporal Logic formula for the cross-cutting policy to look at.

  • Aspect-oriented programming for web controller layer

    Keiji Hokamura, Shin Nakajima, Naoyasu Ubayashi, Akihito Iwai

    15th Asia-Pacific Software Engineering Conference, APSEC 2008     529 - 536  2008.12  [Refereed]

     View Summary

    We propose a new domain-specific aspect-oriented programming (AOP) mechanism for Web application development. A variety of crosscutting concerns such as access control and performance tuning are found in typical Web applications, but it is not easy to concisely modularize the concerns as aspects in current AOP languages because they do not provide pointcut mechanisms for directly handling events in the Web controller layer. To deal with this problem, we propose a Web-specific AOP mechanism called AOWP and a PHP-based AOWP framework. Using this framework, a programmer can easily address Web-specific crosscutting concerns triggered by Web-specific events, including page requests, page transitions, and session management events.

    DOI

  • 2307 Project Management by Focusing on Non-Functional Requirements for High Quality Embedded Software Design

    Mise Toshiro, Shinyashiki Yasufumi, Nakatani Takako, Katamine Keiichi, Ubayashi Naoyasu, Hashimoto Masaaki

    Proceedings (National Conferences of The Society of Project Management)   2008   211 - 216  2008

     View Summary

    Embedded systems such as household electric appliances are required to retain a high standard of quality such as safety and usability. Then, those systems are tested thoroughly. But, this trends leads redesign of those systems and causes bad influences of cost and delivery. Then, we have researched the reasons of exchanging of the specification about some projects for development of embedded software delayed of delivery date. The results of the research shows that the major reason of exchanging of the specifications are mismatch of non-functional requirement of systems and design of the software when the behavior of the systems deviated from correct behavior. Therefore, in this paper, we show a quality management process that focuses non-functional requirements and a methodology for the process. Furthermore, we show an experiment for confirming the effects of the process and methodology.

    DOI CiNii

  • A Conceptual Model for Analysis Method of Extracting Unexpected Obstacles of Embedded System

    Keiichi Katamine, Yasufumi Shinyashiki, Toshiro Mise, Masaaki Hashimoto, Naoyasu Ubayashi, Takako Nakatani

    KNOWLEDGE-BASED SOFTWARE ENGINEERING   180   22 - +  2008  [Refereed]

     View Summary

    This paper proposes a conceptual model for analysis method of extracting unexpected obstacles in order to improve the quality of embedded systems. Although embedded software has become increasingly large in scale and complexity, companies are requiring the software to be developed with in shorter periods of time. This trend in the industry has resulted in the oversight of unexpected obstacles and consequently has affected the quality of embedded software. In order to prevent the oversight of unexpected obstacles, we have already proposed two methods for requirements analysis: the Embedded Systems Improving Method (ESIM) using an Analysis Matrix, and a method that uses an Information Flow Diagram (IFD). However, these analysis methods have been developed separately. This paper proposes the conceptual model including both methods, and clarifies abstraction mechanisms of expert engineers for extracting unexpected obstacles of embedded systems. It also describes a case study and discussion of the domain model.

    DOI

  • A suggestion for analysis of unexpected obstacles in embedded system

    Yasufumi Shinyashiki, Toshiro Mise, Masaaki Hashimoto, Keiichi Katamine, Naoyasu Ubayashi, Takako Nakatani

    HUMAN INTERFACE AND THE MANAGEMENT OF INFORMATION: METHODS, TECHNIQUES AND TOOLS IN INFORMATION DESIGN, PT 1, PROCEEDINGS   4557   755 - 768  2007  [Refereed]

     View Summary

    In order to improve the quality of embedded software by finding obstacles unanticipated by software specifications, this paper describes a requirement analysis method based on an Information Flow Diagram and experiments using this method, with discussion. Recently, embedded software has become more large-scale and complicated while the development cycle of the software has typically been shortened. This industry trend compromises the quality of embedded software. In order to improve the quality of the software, unexpected obstacles must be carefully analyzed in the specification and design phases. We propose a diagram-based analysis method to answer this need, and have performed an experiment using the analysis method with an actual product. The results of the experiment made it clear that 1) Novice engineers can construct an Information Flow Diagram under the lead of expert engineers; and 2) The methods by which experts lead novice engineers in the analysis of unexpected obstacles require further refinement.

  • Contract-based impact analysis for weaving classes and aspects

    Suguru Shinotsuka, Naoyasu Ubayashi, Hideaki Shinomi, Tetsuo Tamai

    Computer Software   24 ( 2 ) 133 - 149  2007  [Refereed]

     View Summary

    Aspect-oriented programming (AOP) has the good characteristic called obliviousness that enables a programmer to design a class without considering crosscutting concerns. On the other hand, it is not necessarily easy for the programmer to know the overall behavior of a woven program because weaving modifies the behavior of a method denned in a class. Unexpected errors might be embedded in the woven program. To tackle this problem, we propose WbC (Weaving by Contract), a technique for verifying the correctness of weaving based on contracts. Contracts in WbC consist of pre-conditions, post-conditions, and invariants of weaving. By introducing WbC, we can specify how a program should behave before and after weaving. We also provide a language called COW (COntracl Writing language) for supporting WbC. In COW, a programmer describes contracts by predicate logic that represents the behavior of a program as a property of control and data flow. WbC can restrict weaving to keep the intention of the programmer.

  • Enhancing the ESIM (Embedded Systems Improving Method) by combining information flow diagram with analysis matrix for efficient analysis of unexpected obstacles in embedded software

    Yasufumi Shinyashiki, Masaaki Hashimoto, Naoyasu Ubayashi, Toshiro Mise, Keiichi Katamine, Takako Nakatani

    14TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS     326 - +  2007  [Refereed]

     View Summary

    In order to improve the quality of embedded software, this paper proposes an enhancement to the ESIM (Embedded Systems Improving Method) by combining an IFD (Information Flow Diagram) with an Analysis Matrix to analyze unexpected obstacles in the software. These obstacles are difficult to predict in the software specification. Recently, embedded systems have become larger and more complicated. Theoretically therefore, the development cycle of these systems should be longer. On the contrary in practice the cycle has been shortened. This trend in industry has resulted in the oversight of unexpected obstacles, and consequently affected the quality of embedded software. In order to prevent the oversight of unexpected obstacles, we have already proposed two methods for requirements analysis: the ESIM using an Analysis Matrix and a method that uses an IFD. In order to improve the efficiency of unexpected obstacle analysis at reasonable cost, we now enhance the ESIM by combining an IFD with an Analysis Matrix. The enhancement is studied from the following three viewpoints. First, a conceptual model comprising both the Analysis Matrix and IFD is defined. Then, a requirements analysis procedure is proposed that uses both the Analysis Matrix and IFD, and assigns each specific role to either an expert or non-expert engineer. Finally, to confirm the effectiveness of this enhancement, we carry out a description experiment using an IFD.

    DOI

  • Context-aware Feature-Oriented Modeling with an Aspect Extension of VDM

    Naoyasu Ubayashi, Shin Nakajima

    APPLIED COMPUTING 2007, VOL 1 AND 2     1269 - +  2007  [Refereed]

     View Summary

    Separation of concerns is important to reduce the complexity of software design. This paper(1) examines a software development method starting with the feature-oriented modeling method to have VDM-based formal design. In order to overcome the problem that a feature may be scattered over the VDM design description, the notion of the aspect is adapted to propose AspectVDM. The identified features axe concisely represented in AspectVDM to demonstrate modular descriptions of cross-cutting concerns in VDM.

  • Special section on software engineering for embedded systems

    Masayuki Hirayama, Yoshikazu Ueda, Toshiaki Aoki, Harumi Watanabe, Mikio Aoyama, Shin Nakajima, Atsushi Sawada, Naoyasu Ubayashi, Shigeyuki Ohara, Shinji Kohno, Kazutoshi Wakabayashi, Shigeru Hitomi, Suji Yamamoto, Naoki Tamura

    IEICE Transactions on Information and Systems   E88-D ( 6 ) 1103 - 1104  2005.06  [Refereed]

    DOI

  • Modeling collaborations among objects that change their roles dynamically and its modularization mechanism

    Ubayashi Naoyasu, Tamai Tetsuo

    Systems and Computers in Japan   33 ( 5 ) 51 - 63  2002.01  [Refereed]

     View Summary

    For the representation of the collaborative operations among objects (computational entities), many of the techniques proposed at present treat the collaborative operations only as the concept in analysis and design stages; moreover, the roles carried by the respective objects have the problem of being fixed from the beginning to the end. Based on the environment-adaptive computation model "ε computation" proposed by the authors, in this paper we will study from the language side a description method for the case of collaborative operations in which the group of objects changes their roles dynamically along with the progress of computation. Furthermore, we will present a method for defining the collaborative operations among objects as general collaboration protocol components and reuse them again. ε computation is a model in which the field where the group of objects operates collaboratively is considered as an environment for the individual objects; the object can change its roles and collaboration forms with other objects dynamically by entering the environment or leaving the environment.

    DOI

  • An evolutionary mobile agent system based on role concepts

    Naoyasu Ubayashi, Tetsuo Tamai

    Computer Software   18 ( 1 ) 217 - 221  2001.12  [Refereed]

  • RoleEP: Role Based Evolutionary Programming for cooperative mobile agent applications

    N Ubayashi, T Tamai

    INTERNATIONAL SYMPOSIUM ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS     232 - 240  2000  [Refereed]

     View Summary

    Using mobile agent systems, cooperative distributed applications that run over the Internet can be constructed flexibly. However, there are some problems: it is difficult to understand collaborations among agents as a whole, it is difficult to define behaviors of agents because they are influenced by their external context dynamically. So, in general, constructions of cooperative distributed applications based on mobile agent systems are considered as very hard and difficult works.
    In this paper, the concept of RoleEP (Role Based Evolutionary Programming) is proposed in order to alleviate these problems. RoleEP provides a systematic evolutionary programming style. In RoleEP. a field where a group of agents collaborate with each other is regarded as an environment and a function that an agent assumes in an environment is defined as a role. Descriptions only concerning to collaborations among agents call be abstracted by environments. An object becomes an agent by binding itself with a role that is defined in an environment, and acquires functions needed for collaborating with other agents that exist in the same environment. Distributed applications based on mobile agent systems. which may change their functions dynamically in order to adapt themselves to their external context, can be constructed by synthesizing environments dynamically.

  • A parallel computation model and programming language for the description of collaboration among objects

    Naoyasu Ubayashi, Atsuo Ohki, Yasushi Kuno

    Systems and Computers in Japan   28 ( 5 ) 33 - 43  1997.05  [Refereed]

     View Summary

    Several parallel computation models including the Actor Model have been proposed. Since these models have only primitive constructs for parallel computation, it is not easy to build a model in terms of what kind of roles objects in the real world play and how they collaborate with each other. When we create a parallel system model with such frameworks, it is difficult to understand the system behavior as a whole. To solve this problem, we propose a new model, the Producer Model, and its description language Produce/1. In the Producer Model, parallel objects collaborate with each other under the coordination of producer objects. In the Actor Model, objects build network topologies and send messages to each other. On the other hand, in the Producer Model, we distinguish these two kinds of computations, through the execution of the former by producer objects, and of the latter by actor objects. By reading procedures of producer objects, we can understand collaboration among objects easily.

    DOI

▼display all

Books and Other Publications

  • IT Text ソフトウェア工学

    平山雅之, 鵜林 尚靖( Part: Joint author)

    オーム社  2017.03

  • ソフトウェア工学の基礎XIX: FOSE2012 (レクチャーノート・ソフトウェア学)

    鵜林 尚靖, 亀井 靖高( Part: Edit)

    近代科学社  2012.12

Works

  • iArch-U

    Naoyasu Ubayashi, Takuya Fukamachi, Syunya Nakamura, Keisuke Watanabe, Takuya Watanabe 

    2016.12
    -
     

     View Summary

    Integrated Development Environment (IDE) for Uncertainty-Aware Software Development

Research Projects

  • A Study on Self-adaptation Mechanism Under Time Constraints

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2020.04
    -
    2024.03
     

  • Comprehensive Analysis and Repairing Techniques for Stateful Deep Learning Systems

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2020.04
    -
    2023.03
     

  • Automated Testing of Deep Learning Systems

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2019.04
    -
    2022.03
     

  • Crowd Knowledge Ecosystems for Automatic Bug Fixing

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2018
    -
    2021
     

  • Construction of Information Retrieval System for Studying Musical Notation with Undeciphered Codes

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2015.04
    -
    2018.03
     

    Yako Masato, DEGUCHI SACHIKO

     View Summary

    In order to promote the research of ancient musical notation with undeciphered codes, it is necessary to improve the research environment that the researchers can share the decipherment process such as saving it on share network. This research aims to produce the system for sharing the information about musical notation with undeciphered codes that is on the way of decipherment among researchers as users of ancient musical notation. First, on the condition of applicable notation to ancient musical notation whose character string is columnar writing with and without undeciphered symbols, we created a web application that recognizes and edits these symbols together with the notation. Next, we created a system for automatic classification of various sesame points that are relatively simple undeciphered musical codes. Furthermore, to retrieve complex symbols, we devised a method to divide a complex curve symbol into simple straight lines and curves, and a grammar to combine them.

  • A Study on Model-Driven Development Embracing Uncertainty

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2014
    -
    2017
     

    Ubayashi Naoyasu, Kishi Tomoji, Matsuura Saeko

     View Summary

    This research aimed to propose a new software engineering method embracing uncertainty. By introducing uncertainty in the world of programming language theory and formal methods, a developer can verify the integrity of design models containing uncertainty, check the traceability between the design models and code, and attach/remove the uncertainty to/from the design models or code. We proposed Archface-U, an interface mechanism for dealing with uncertainty. Using Archface-U, we can provide a model-driven development in which a developer can continue design or implementation even in the presence of uncertainty. We released iArch-U, an uncertainty-aware software development environment, as open source software from GitHub.

  • 研究領域「ポストペタスケール高性能計算に資するシステムソフトウェア技術の創出」 研究課題名「ポストペタスケール時代のスーパーコンピューティング向けソフトウェア開発環境」

    文部科学省  戦略的創造研究推進事業 (文部科学省)

    Project Year :

    2011
    -
    2016
     

  • A Study on Fluid Design Abstraction

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2013
    -
    2015
     

    Ubayashi Naoyasu

     View Summary

    Abstraction plays an important role in software development. However, it is not easy to decide which concern should be described in a design model and which concern should be written in code. An abstraction level of a design specification may change as a result of reconsidering the balance between design and code. We proposed the notion of fluid design abstraction, its support tool iArch, and software patterns for abstraction. An appropriate abstraction level can be captured by the convergence of fluid moving between design modeling and program implementation.

  • A Comprehensive Study on Database System for Musical Notation with Undeciphered Code

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2011
    -
    2013
     

    YAKO masato, UBAYASHI Naoyasu, MATSUSHIMA Toshiaki, ENDO Toru, KOMODA Haruko, TAKAKUWA Izumi, DEGUCHI Sachiko

     View Summary

    In order to promote the research of ancient musical notation with undeciphered codes, it is necessary to improve the research environment that the researchers can share the information on the way of decipherment process such as saving it on share network. This research aims to design database system for sharing the information about musical notation with undeciphered codes that is on the way of decipherment among researchers as users of ancient musical notation. On the condition of limiting the applicable notation to ancient musical notation whose character string is columnar writing with and without undeciphered symbols, the specification of software that recognizes and edits these symbols in the notation was designed. A quantitative classification of undeciphered symbols seen in Japanese nagauta music original texts as a case study was conducted.

  • A Study on Constructing Reliable Software Architecture

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2011
    -
    2013
     

    UBAYASHI Naoyasu, FUKUDA Akira, HISAZUMI Kenji, KAMEI Yasutaka, NAKAJIMA Shin

     View Summary

    Architectural design plays an important role in developing reliable software systems. However, it is not easy to design a consistent architecture having an appropriate abstraction level and implement a program faithful to the design. To deal with this problem, we propose the notion of fluid design abstraction, a design approach in which an appropriate abstraction level can be captured by the convergence of fluid moving between design and implementation. To support fluid design abstraction, we provide the followings: 1) an architectural interface mechanism for specifying abstraction, 2) metrics for measuring an abstraction level, and 3) abstraction-aware traceability check between design and code.

  • A Study on modularization mechanisms to integrate hierarchical and crosscutting decomposition for the post-aspect era

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2010
    -
    2013
     

    CHIBA Shigeru, TAMAI Tetsuo, NAKAJIMA Shin, UBAYASHI Naoyasu, MASUHARA Hidehiko, IGARASHI Atsushi, KAMINA Tetsuo

     View Summary

    Software modularization is a key component of modern software development. This work studied language constructs supporting both hierarchical and crosscutting modularization. The two kinds of modularization had been supported by separate constructs. The aim of this work was develop post-aspect orientation through comprehensive study on the topic. This work mainly studied language constructs based on predicate dispatching and context-oriented programming and thereby it developed constructs that can deal with both hierarchical and crosscutting decomposition in a unified way. The work also studied the constructs from the viewpoints of theoretical foundation and modeling.

  • 安全ソフトウェア設計に関する調査研究, 経済産業省平成22 年度産業技術研究開発委託費, 中小企業システム基盤開発環境整備事業(システム開発の高度化に関する調査研究)

    経産省(三菱総研経由) 

    Project Year :

    2010.07
    -
    2011.02
     

  • 形式検証技術に基づいたディペンダブルソフトウェアアーキテクチャ構築に関する研究

    国立情報学研究所 共同研究(戦略研究公募型)

    Project Year :

    2011
     
     
     

  • 高信頼ソフトウェアアーキテクチャ構築法に関する研究

    日本学術振興会  科学研究費助成事業

    Project Year :

    2010
     
     
     

    鵜林 尚靖

  • A Study on Verifying Model Compiler

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2007
    -
    2009
     

    UBAYASHI Naoyasu

     View Summary

    In this research, we developed an extensible AOM (Aspect-Oriented Modeling) language called AspectM and a verifying model compiler. Although the notion of extensible AOM is useful, it is not necessarily easy to confirm the correctness of model compilation (weaving). To deal with this problem, the AspectM model compiler provides a set of verifiers consisting of a metamodel checker, a model structure checker, and an assertion checker.

  • Aspect-Oriented Software Development Methodology for Enhancing Productivity and Safety

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2006
    -
    2009
     

    TAMAI Tetsuo, NAKAJIMA Shin, CHIBA Shigeru, UBAYASHI Naoyasu, MASUHARA Hidehiko, IGARASHI Atsushi, KAMINA Tetsuo

     View Summary

    We conducted a research project titled "Aspect-Oriented Software Development Methodology for Enhancing Productivity and Safety" in the fiscal years from 2006 to 2009. In the project, we developed a theory and tools for validating type-safety of aspect-oriented models, designed a new aspect-oriented language with highly advanced features and built a language processor that has high performance as well as flexible usability. We also applied our method to security validation of Web services written in BFPL and constructed a software development methodology for employing aspect-oriented technologies.

  • A Study on Extensible Domain-specific Languages

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2004
    -
    2006
     

    UBAYASHI Naoyasu, HASHIMOTO Masaaki

     View Summary

    We have developed AspectM, an extensible domain-specific language based on UML. In this language, the notion of aspect orientation is introduced. The AspectM support tool consists of the model editor and the model compiler.
    Using the AspectM model editor, a developer can easily create UML and aspect diagrams. The editor provides the UML metamodel extension mechanism in which metamodel elements can be added or modified by using MMAP (Meta Model Access Protocol)---UML is extended by UML itself. This can be regarded as a kind of modeling-level reflection. In our approach, the model descriptions for extending UML can be accumulated as software components that enhance the functionality of the model editor. Using these components, a developer can create a model whose notation is suitable to a specific domain.
    The AspectM model compiler is composed of the model weaver and code generator. Adopting model-based development methods, a developer can create a model that represents the essential aspects of the targeted software without considering the detail of the platforms (OS, middleware, and framework) and programming languages. In the model weaver, the mapping rules from the model notations extended by the model editor to the actual platform descriptions are described as aspects. A developer can extend the functionality of the weaver by defining aspects.

  • High Reliability Component-Based Software Engineering

    Japan Society for the Promotion of Science  Grants-in-Aid for Scientific Research

    Project Year :

    2001
    -
    2005
     

    TAMAI Tetsuo, SHIBAYAMA Etsuya, NAKAJIMA Shin, UBAYASHI Naoyasu, MASUHARA Hidehiko, IGARASHI Atsushi

     View Summary

    The major objectives of this research were:
    1. to conquer the structural complexity of software components and their composites, and
    2. to conquer the behavioral complexity of software components and their composites.
    We achieved these objectives as follows.
    1. The structural complexity is addressed by creating models and languages that support clear and flexible modularization of components and constructing systems based on those components.
    2. The behavioral complexity is addressed by applying formal validation techniques to behaviors of components and devising methods for proving that they satisfy desirable properties and will not run into failure or bring undesirable phenomena.
    As a final product, we integrated methods and tools developed during the four and half year project under an integrated software development environment. Some characteristics of the research product are as listed below.
    -We proposed a role based model named Epsilon and a language to implement the model, EpsilonJ that supports a flexible architecture defining and combining components.
    -We developed a fundamental aspect oriented model framework to compare and analyze a wide variety of aspect oriented programming languages.
    -To ensure performance, we devised a method for automatically generating code that fits to the environment where components are deployed.
    -We proposed a new systematic method for weaving in abstract aspects designed at the earlier stage of software development.
    -We proposed a new type system that supports mutually recursive classes.

▼display all

Misc

  • ソフトウェア工学の最前線 ~ソフトウェアが社会のすべてを定義する時代~:ソフトウェア工学の過去,現在,未来

    紫合 治, 鵜林 尚靖, 丸山 勝久, 青山 幹雄, 野田 夏子

       2017.08

  • ソフトウェア工学の最前線 ~ソフトウェアが社会のすべてを定義する時代~:自動プログラミング,自動バグ修正への夢

    肥後 芳樹, 鵜林 尚靖

       2017.08

  • ソフトウェア工学の最前線 ~ソフトウェアが社会のすべてを定義する時代~:編集にあたって

    鵜林 尚靖, 丸山 勝久, 青山 幹雄, 野田 夏子

       2017.08

     View Summary

    情報処理学会誌2017年8月号にて、特集「ソフトウェア工学の最前線〜ソフトウェアが社会のすべてを定義する時代〜」のエディタを務めた。ソフトウェア工学研究会の主査として、ソフトウェア工学研究会発足40周年を記念して組んだ特集である。ソフトウェア工学研究会が設立されてから2017で40周年になる(1977年に研究会が発足)。この機会に日本におけるソフトウェア工学研究の歴史を振り返ると共に、新しい時代のソフトウェア工学に期待される技術や夢について考えることを狙いとした。特集号では、ソフトウェア工学の最前線について、先達から若手研究者に至るまで幅広く執筆していただいた。記事の大半が、新進気鋭の若手研究者とトップ研究者との共著という形を取っている。これからの未来を担う若手とこれまでソフトウェア工学の研究に多大な貢献をしてきたベテランとの合作で、ソフトウェア工学の過去、現在、未来について大いに語っていただこうという趣旨である。本特集は、対談、エッセイ、技術解説の三部構成になっている。技術解説には「未来に向かって」という共通タイトルが付けられている。

  • Dockerfileの開発を支援するインタラクティブツールの提案

    稲田司, 石本優太, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 432(SS2022 47-73) )  2023

    J-GLOBAL

  • プログラム自動修正に向けた行単位のバグ予測手法の提案

    和田寛太, 山本大貴, 森田一成, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 432(SS2022 47-73) )  2023

    J-GLOBAL

  • 大規模言語モデルを用いた初学者のためのデバッグ作業支援の初期評価

    宇都宮魁斗, 秋山楽登, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 432(SS2022 47-73) )  2023

    J-GLOBAL

  • GitHub Copilotを用いたコード自動生成における入力データ順序の影響調査

    野口広太郎, 小柳慶, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 444(KBSE2022 54-69) )  2023

    J-GLOBAL

  • 初学者支援を目的としたコードエディタにおけるPythonの型プレビュー機能実装に関する研究

    友池真輝, 沖野健太郎, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 444(KBSE2022 54-69) )  2023

    J-GLOBAL

  • OSSにおけるJavaのレコード・クラス利用実態の初期調査

    杉原裕太, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2023 ( SE-213 )  2023

    J-GLOBAL

  • Code analysis and implementation of assistance tool to improve Python code for beginners

    沖野健太郎, 近藤将成, 亀井靖高, 鵜林尚靖, 谷口雄太

    情報処理学会研究報告(Web)   2023 ( SE-213 )  2023

    J-GLOBAL

  • Evaluation of Automated Test Case Generation Considering Execution Paths for Automated Program Repair

    若松昌宏, 松田雄河, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2023 ( SE-213 )  2023

    J-GLOBAL

  • Evaluation of Automated Program Repair Methods Using Program Editing Histories of Novice Programmers.

    松尾春紀, 近藤将成, 亀井靖高, 谷口雄太, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   121 ( 416(SS2021 42-68) )  2022

    J-GLOBAL

  • Performance Evaluation of Defect Prediction using Trace Logs

    森田一成, 柏祐太郎, 中村司, 山本大貴, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   121 ( 416(SS2021 42-68) )  2022

    J-GLOBAL

  • 連合学習によるプライバシー保護を考慮したプロジェクト間バグ予測

    山本大貴, RAJBAHADUR Gopi Krishnan, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2022 ( SE-211 )  2022

    J-GLOBAL

  • A Preliminary Study of Self-Admitted Technical Debt in Quantum Programming

    長濱吉慧, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   122 ( 138(SS2022 1-20) )  2022

    J-GLOBAL

  • Fault Localization for RNNs based on Probabilistic Automata and n-grams

    石本優太, 近藤将成, 鵜林尚靖, 亀井靖高

    電子情報通信学会技術研究報告(Web)   122 ( 138(SS2022 1-20) )  2022

    J-GLOBAL

  • AIの品質保証 5 ニューラルネットワークモデルのバグ限局・自動修正技術

    石本優太, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理   63 ( 11 )  2022

    J-GLOBAL

  • Pythonにおける機械学習関連ライブラリの自動推薦手法の評価

    小柳慶, 秋山楽登, 沖野健太郎, 近藤将成, 亀井靖高, 鵜林尚靖

    ソフトウェア工学の基礎ワークショップ論文集(Web)   29  2022

    J-GLOBAL

  • Automatic Parameter Prediction for Add Parameter Refactorings

    清水一輝, 柏祐太郎, 近藤将成, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   121 ( 317(MSS2021 31-54) )  2022

    J-GLOBAL

  • 型を考慮したコードクローンの集約リファクタリング

    杉原裕太, 沖野健太郎, 清水一輝, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2022 ( SE-210 )  2022

    J-GLOBAL

  • Pythonにおける機械学習関連ライブラリの自動推薦手法の初期評価

    小柳慶, 秋山楽登, 山手響介, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2022 ( SE-210 )  2022

    J-GLOBAL

  • プログラミング作問支援に向けた類似問題検索手法の評価

    山本大貴, 松尾春紀, 沖野健太郎, 近藤将成, 亀井靖高, 鵜林尚靖

    ソフトウェア工学の基礎ワークショップ論文集(Web)   28  2021

    J-GLOBAL

  • 実行経路を考慮した自動テストケース生成が自動プログラム修正に与える影響の分析

    松田雄河, 山手響介, 近藤将成, 柏祐太郎, 亀井靖高, 鵜林尚靖

    ソフトウェア工学の基礎ワークショップ論文集(Web)   28  2021

    J-GLOBAL

  • プログラミング初学者のバグ修正履歴を用いたデバッグ問題自動生成の事例研究

    秋山楽登, 中村司, 近藤将成, 亀井靖高, 鵜林尚靖

    ソフトウェア工学の基礎ワークショップ論文集(Web)   28  2021

    J-GLOBAL

  • 深層学習システムの保守に関する実証調査の検討

    Yin Mingyang, 柏祐太郎, 近藤将成, 亀井靖高, 鵜林尚靖

    ソフトウェア工学の基礎ワークショップ論文集(Web)   28  2021

    J-GLOBAL

  • An Empirical Analysis of the Evolution of README Files

    亀井靖高, 清水一輝, 柏祐太郎, 佐藤亮介, 鵜林尚靖

    情報処理学会論文誌ジャーナル(Web)   62 ( 4 )  2021

    J-GLOBAL

  • A Case Study of Applying Automatic Program Repair Against Middleware Product

    池田翔, 中野大扉, 亀井靖高, 佐藤亮介, 鵜林尚靖, 久保田学, 矢川博文, 吉武浩

    情報処理学会デジタルプラクティス(Web)   12 ( 4 )  2021

    J-GLOBAL

  • A performance study of an automatic bug fixing method for applying educational support

    松尾春紀, 池田翔, 亀井靖高, 佐藤亮介, 島田敬士, 鵜林尚靖

    コンピュータソフトウェア   38 ( 4 )  2021

    J-GLOBAL

  • Similar Problem Search Using Deep Learning for Supporting Programming Education

    山本大貴, 松尾春紀, 沖野健太郎, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   120 ( 407(SS2020 28-46) )  2021

    J-GLOBAL

  • Performance Evaluation of Automatic Bug Repair using Neural Machine Translation with Bug Fix Histories

    秋山楽登, 中村司, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   120 ( 407(SS2020 28-46) )  2021

    J-GLOBAL

  • Analysis of the Impact of Automatically Generated Test Cases on the Results of Automatic Bug Repair

    松田雄河, 山手響介, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告(Web)   120 ( 407(SS2020 28-46) )  2021

    J-GLOBAL

  • A Reproducibility Support Tool Using Execution Log for Jupyter Notebook

    松原直利, 松井健, 鵜林尚靖, 亀井靖高

    電子情報通信学会技術研究報告(Web)   120 ( 407(SS2020 28-46) )  2021

    J-GLOBAL

  • ソフトウェア開発者の知見を考慮した半自動バグ修正の性能調査

    山手響介, 近藤将成, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2021 ( SE-208 )  2021

    J-GLOBAL

  • リファクタリングがテストコードに与える影響の定量的調査

    清水一輝, 柏祐太郎, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2021 ( SE-207 )  2021

    J-GLOBAL

  • DockerfileにおけるSelf-Admitted Technical Debtの削除に関する調査

    新堂風, 東英明, 松本真佑, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2021 ( SE-207 )  2021

    J-GLOBAL

  • プログラム自動生成に向けたソースコード検索器の性能評価

    沖野健太郎, 松尾春紀, 山本大貴, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2021 ( SE-207 )  2021

    J-GLOBAL

  • RNNの抽象化モデルに対するバグ限局とその評価

    石本優太, 松井健, 鵜林尚靖, 亀井靖高

    情報処理学会研究報告(Web)   2021 ( SE-207 )  2021

    J-GLOBAL

  • コードレビューを通じたSelf-Admitted Technical Debtの追加・削除に関する実証的研究

    西川 諒真, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    ソフトウェアエンジニアリングシンポジウム2020論文集   ( 2020 ) 14 - 22  2020.09

    CiNii

  • 静的解析ツールの警告に対する自動バグ修正技術の適用と初期評価

    浅田翔, 首藤巧, 山手響介, 佐藤亮介, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2020 ( SE-204 )  2020

    J-GLOBAL

  • Studies on how characteristics of target source code affect automatic program repair

    中村司, 池田翔, 亀井靖高, 佐藤亮介, 鵜林尚靖

    情報処理学会研究報告(Web)   2020 ( SE-204 )  2020

    J-GLOBAL

  • Supporting OSS Developers to Make and Maintain README.md Files in OSS Projects

    清水一輝, 亀井靖高, 佐藤亮介, 鵜林尚靖

    電子情報通信学会技術研究報告   119 ( 451(SS2019 41-60)(Web) )  2020

    J-GLOBAL

  • Performance Evaluation of Automatic Bug Fixing Tools for Syntax Errors

    松尾春紀, 池田翔, 亀井靖高, 佐藤亮介, 鵜林尚靖

    電子情報通信学会技術研究報告   119 ( 451(SS2019 41-60)(Web) )  2020

    J-GLOBAL

  • The Impact of Fault Localization Considering Developers’ Intuition on Automatic Bug Repair

    山手響介, 首藤巧, 浅田翔, 佐藤亮介, 亀井靖高, 鵜林尚靖

    電子情報通信学会技術研究報告   119 ( 451(SS2019 41-60)(Web) )  2020

    J-GLOBAL

  • 自動バグ修正研究のためのプラットフォームjProphetの開発について

    首藤巧, 山手響介, 浅田翔, 亀井靖高, 鵜林尚靖, 佐藤亮介

    情報処理学会研究報告(Web)   2020 ( SE-206 )  2020

    J-GLOBAL

  • Termination Verification for Functional Programs via Regression Prediction of Ranking Function

    村本大起, 佐藤亮介, 鵜林尚靖, 亀井靖高

    情報処理学会論文誌トランザクション プログラミング(Web)   13 ( 4 )  2020

    J-GLOBAL

  • 集合知を用いた深層学習による自動バグ修正

    高橋 裕太, 鵜林 尚靖, 佐藤 亮介, 亀井 靖高

    ソフトウェアエンジニアリングシンポジウム2019論文集   ( 2019 ) 87 - 96  2019.08

    CiNii

  • Revertに着目した不確かさに関する実証的分析

    村岡 北斗, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

    ソフトウェアエンジニアリングシンポジウム2019論文集   ( 2019 ) 31 - 40  2019.08

    CiNii

  • APSEC 2018 開催および参加報告

    丸山 勝久, 鵜林 尚靖, 鷲崎 弘宜, 堀田 圭佑

       2019.06

  • 自動バグ修正技術の企業内ソースコードへの適用に向けて

    池田 翔, 中野 大扉, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖, 吉武 浩, 矢川 博文

    第81回全国大会講演論文集   2019 ( 1 ) 299 - 300  2019.02

     View Summary

    バグ修正の時間削減による生産性の向上を目的として,自動バグ修正の研究は盛んに行われている.自動バグ修正の研究は積極的に取り組まれているものの,多くの自動バグ修正手法はOSSを修正対象としている.本研究では企業内ソースコードに対して自動バグ修正を試みることで3つのResearch Question,1. 実際に発生したバグを自動バグ修正で修正できるか,2. 開発者に受け入れられるパッチを生成できるか,3. 自動バグ修正を企業内ソースコードとOSSに適用する上での差異はあるか,に回答する.これらのRQを解決することで企業内ソースコードとOSSの差異や自動バグ修正の課題を明らかにできると考える.

    CiNii

  • ソースコード修正履歴を用いた自動バグ修正手法の性能理解

    首藤 巧, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 297 - 298  2019.02

     View Summary

    自動バグ修正において修正結果を開発者の行うような修正に近付けるために版管理システムのソースコード修正履歴を機械学習によって修正に利用する手法がある.同一の修正対象でも学習したソースコード修正履歴によって修正結果は異なってくることが予想されるが,どの程度影響があるのか実証的な実験はなされていない.本研究では,学習に用いるソースコード修正履歴が,バグの修正結果にどのような影響をもたらすかを調査する.学習に用いるデータセットは修正対象であるベンチマークアプリケーションとの関連度および各修正パッチの分布や構成によって分類を行い複数用意することで修正結果をそれぞれ比較し分析をする.

    CiNii

  • Stack Overflow記事の充実に向けたソースコード変更履歴の利用可能性評価

    西中 隆志郎, 佐藤 亮介, 亀井 靖高, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 291 - 292  2019.02

     View Summary

    Stack Overflow(SO)は,APIプログラミングに関する質問・回答投稿をコード片とともに共有しており,開発者の知識共有にしばしば用いられている.しかし,SO投稿の量や回答時間は専門分野によって偏っており,近年,未回答の質問投稿の割合が増加する一因となっている.一方で,質問者と同じ問題に遭遇している開発者はどこかにいるはずであり,彼らが試行錯誤した経験はソフトウェアの開発履歴に蓄積されている可能性がある.本研究では,SOにおける知識共有の支援を目指し,ソースコード差分がSOを充実させる可能性を検討する.

    CiNii

  • OSS開発プロジェクトにおけるREADMEファイルの進化に関する理解

    佐渡島 悠樹, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 289 - 290  2019.02

     View Summary

    GitHub等のOSS(Open Source Software)開発プロジェクトにおいてREADMEファイルはプロジェクトに関わる際に一番初めに表示されるドキュメントである.しかし,READMEファイルは不完全であったり古くなっており読まれないことが多い.本研究では,PranaらのREADMEファイルの自動ラベル分類の実験を参考に,READMEが初期状態からどのように,何回変更されているのかを調査する.そうすることによって,ドキュメント作成のための知見を得て,READMEに記述すべき項目を明らかにすることを目指す.

    CiNii

  • GitHubにおけるセキュリティバグ報告と修正の調査

    中野 大扉, 亀井 靖高, Abram Hindle, 佐藤 亮介, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 287 - 288  2019.02

     View Summary

    ソフトウェア開発において,セキュリティバグの修正はシステム障害や情報漏洩を防ぐために重要であると考えられている.セキュリティバグの情報をサポートする仕組みとして,Common Vulnerabilities and Exposures(CVE)が存在する. ソフトウェア開発者は,セキュリティバグの存在を報告する際や修正を行う際にCVEを利用して情報をやりとりすることがある.本研究では,GitHub上の開発内でCVEを利用しているセキュリティバグ報告,修正を取得し,それらの修正方法,修正時間に着目して分析を行った.

    CiNii

  • OSSプロジェクトにおける不確かさの内容分類

    村岡 北斗, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 285 - 286  2019.02

     View Summary

    ソフトウェア工学に存在する「不確かさ」は,バグやコードの煩雑化の原因になってしまうため,適切に扱っていかなければならない問題である.既存研究では不確かさについてどう扱って行くのべきか議論しているものは多く存在する.しかし,実際のソフトウェア開発で発生した不確かさについて明らかにした研究はされていない.本研究では,20個のGitで管理されているOSSプロジェクトに含まれる実際のソフトウェア開発で現れた不確かさをコミットのコメントから抽出し,書かれている内容についてオープン・コーディングを行うことで不確かさについての分類を行った.

    CiNii

  • 関数型プログラムのための回帰推定による停止性判定ツールの試作

    村本 大起, 佐藤 亮介, 鵜林 尚靖, 亀井 靖高

    第81回全国大会講演論文集   2019 ( 1 ) 229 - 230  2019.02

     View Summary

    停止しないプログラムはセキュリティなどの問題の原因になり,停止性を検証することは重要な研究課題である.プログラムの停止性を判定する方法の一つに,ループまたは再帰ごとに単調減少し,ある一定値以下にはならないという性質を持つランキング関数を発見する手法が存在する.我々はランキング関数の推定方法を改善するため,回帰推定を取り入れた検証手法を考え,実際に検証できることを評価してきた.そこで,本研究では停止性を判定するツールを作成した.これにより,プログラムの入力により自動的に停止性を検証することができ,ランキング関数の推定方法を置き換えることによって改善することも可能になると考えられる.

    CiNii

  • 命題論理の深層学習による自動証明

    金原 雅典, 佐藤 亮介, 鵜林 尚靖, 亀井 靖高

    第81回全国大会講演論文集   2019 ( 1 ) 227 - 228  2019.02

     View Summary

    プログラムの正しさを形式的に保証することは,そのプログラムに誤りがないということを確認する点で開発者にとって有用であり,自動化することでその証明作業の手間を減らすことができる.本研究では,深層学習を用いた命題の自動証明を試みる.その第一段階として,対象の論理を命題論理に限定し,深層学習によって学習・自動証明が可能かどうかを評価する.機械学習のモデルとしてRNNの一種であるシーケンス変換モデルを用いて,証明の手順を学習する.サイズの小さい命題論理に対して,学習に用いるデータセットの量が十分であれば,既存の機械学習手法で学習可能かどうかの評価を行なった.

    CiNii

  • 関数型プログラムの条件式に関するバグの自動修正

    松井 健, 佐藤 亮介, 鵜林 尚靖, 亀井 靖高

    第81回全国大会講演論文集   2019 ( 1 ) 201 - 202  2019.02

     View Summary

    ソフトウェア開発において,手動によるバグ修正には多くの手間と時間がかかる.開発者の負担を減らすため自動バグ修正の研究が行われているが,それらは手続き型のプログラムに対するものである.本研究では,関数型プログラムに対する自動バグ修正手法を提案する.対象言語は単純型付きラムダ計算に整数および再帰を加えたもので,対象とするバグは条件分岐の条件式におけるバグである.本手法では,関数型プログラムの検証器によって生成された反例を利用し,修正箇所の特定及び修正のための制約生成を行う.SMTソルバによって制約解消を行い,その解を用いてバグを修正する.

    CiNii

  • Self-admitted technical debtの混入・除去に関する追実験

    西川 諒真, 西中 隆志郎, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    第81回全国大会講演論文集   2019 ( 1 ) 147 - 148  2019.02

     View Summary

    Self-admitted technical debt(以下,SATD)とは開発上での設計における理想状態からの乖離を示す技術的負債の一種であり,ソースコード上へ開発者がコメントを用いて自ずから言及した技術的負債のことを指す.SATDについて研究することはプロジェクトに存在する改善点を容易に知ることに繋がり,プロジェクトの円滑な開発に大きく貢献する.しかし,SATDに関する研究は未だ不十分であり,実証研究が少ない.そこで,本研究では既存研究の複製に加え新たにデータセットを加えることで,研究結果の一般性や新たな知見の獲得を試みる.

    CiNii

  • ICSE 2018 参加報告

    吉岡 信和, 鵜林 尚靖, 石川 冬樹, 鄭 顕志, 鷲崎 弘宜

       2019.02

  • ソースコード修正履歴が自動バグ修正の結果に与える影響の分析

    首藤巧, 亀井靖高, 鵜林尚靖, 佐藤亮介

    情報処理学会研究報告(Web)   2019 ( SE-201 )  2019

    J-GLOBAL

  • Self-Admitted Technical Debtの存在期間・除去人物についての追実験

    西川諒真, 西中隆志郎, 亀井靖高, 佐藤亮介, 鵜林尚靖

    情報処理学会研究報告(Web)   2019 ( SE-201 )  2019

    J-GLOBAL

  • Automatic Repair of Conditional Expressions for Functional Programs by Using Counterexamples

    松井健, 佐藤亮介, 鵜林尚靖, 亀井靖高

    電子情報通信学会技術研究報告   118 ( 471(SS2018 52-84)(Web) )  2019

    J-GLOBAL

  • Towards Automatic Bug Repair for Enterprise Source Code Files

    池田翔, 中野大扉, 亀井靖高, 佐藤亮介, 鵜林尚靖, 吉武浩, 矢川博文

    電子情報通信学会技術研究報告   118 ( 471(SS2018 52-84)(Web) )  2019

    J-GLOBAL

  • 敵対的サンプルに対するニューラルネットワークモデルの学習無し修正とその評価

    松井健, 鵜林尚靖, 佐藤亮介, 亀井靖高

    日本ソフトウェア科学会大会講演論文集(Web)   36th  2019

    J-GLOBAL

  • 機械学習工学研究会キックオフシンポジウム参加報告

    鵜林 尚靖, 鷲崎 弘宜, 鄭 顕志

       2018.11

  • 高階関数型言語におけるランキング関数の回帰推定

    村本 大起, 佐藤 亮介, 鵜林 尚靖, 亀井 靖高

    ウィンターワークショップ2018・イン・宮島 論文集   ( 2018 ) 58 - 59  2018.01

    CiNii

  • 機械学習を用いたCoq上の命題論理の自動証明

    金原 雅典, 佐藤 亮介, 鵜林 尚靖, 亀井 靖高

    ウィンターワークショップ2018・イン・宮島 論文集   ( 2018 ) 50 - 51  2018.01

    CiNii

  • 不確かさ分析用公開データベースの作成に向けて

    村岡 北斗, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    ウィンターワークショップ2018・イン・宮島 論文集   ( 2018 ) 26 - 27  2018.01

    CiNii

  • セキュリティバグ修正におけるCVE 情報の実証実験に向けて

    中野 大扉, 亀井 靖高, 佐藤 亮介, 鵜林 尚靖

    ウィンターワークショップ2018・イン・宮島 論文集   ( 2018 ) 18 - 19  2018.01

    CiNii

  • 機械学習によるCoq上の命題論理の自動証明に関する研究

    金原雅典, 佐藤亮介, 鵜林尚靖, 亀井靖高

    情報処理学会研究報告(Web)   2018 ( SE-198 )  2018

    J-GLOBAL

  • CVE記述が存在するセキュリティバグ修正に関する調査

    中野大扉, 亀井靖高, 鵜林尚靖, 佐藤亮介

    情報処理学会研究報告(Web)   2018 ( SE-198 )  2018

    J-GLOBAL

  • 不確かさに着目したrevertコミット分析

    村岡北斗, 亀井靖高, 佐藤亮介, 鵜林尚靖

    情報処理学会研究報告(Web)   2018 ( SE-199 )  2018

    J-GLOBAL

  • Stack Overflow投稿を用いた深層学習による自動バグ修正にむけて

    高橋裕太, 佐藤亮介, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2018 ( SE-200 )  2018

    J-GLOBAL

  • ソースコード変更履歴によるStack Overflow記事の充実に向けて

    西中隆志郎, 佐藤亮介, 亀井靖高, 鵜林尚靖

    情報処理学会研究報告(Web)   2018 ( SE-200 )  2018

    J-GLOBAL

  • ER2016参加報告

    中川 博之, 小林 努, 林 晋平, 吉岡 信和, 鵜林 尚靖

       2017.11

  • Probabilistic Programming by AOP

      34   545 - 552  2017.09

    CiNii

  • ソフトウェア開発における不確かさに着目したOSSコミットログ解析

    村本 大起, 江 冠逹, 村岡 北斗, 深町 拓也, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

    ソフトウェアエンジニアリングシンポジウム2017論文集   ( 2017 ) 122 - 129  2017.08

    CiNii

  • Git開発履歴情報に基づく不確かさの可視化 (知能ソフトウェア工学)

    村岡 北斗, 村本 大起, 鵜林 尚靖, 亀井 靖高, 佐藤 亮介

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   117 ( 137 ) 175 - 182  2017.07

    CiNii

  • 組込みシステム分野 (特集: 実践的IT教育)

    鵜林 尚靖, 福田 晃

       2017.02

  • 不確かさの発生過程に関する実証分析

    村岡 北斗, 深町 拓也, 山下 一寛, 鵜林 尚靖, 亀井 靖高

    ウィンターワークショップ2017・イン・飛騨高山 論文集   ( 2017 ) 33 - 34  2017.01

    CiNii

  • OSSにおける開発知識の遍在に関する実証分析

    西中 隆志郎, 山下 一寛, 鵜林 尚靖, 亀井 靖高

    ウィンターワークショップ2017・イン・飛騨高山 論文集   ( 2017 ) 23 - 24  2017.01

    CiNii

  • 開発者の離脱理由に着目したOSSプロジェクトの持続性理解

    山下 一寛, 亀井 靖高, 鵜林 尚靖

    ウィンターワークショップ2017・イン・飛騨高山 論文集   ( 2017 ) 21 - 22  2017.01

    CiNii

  • Git連携による不確かさマネジメントシステム

    深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高

    ソフトウェアエンジニアリングシンポジウム2016論文集   ( 2016 ) 70 - 77  2016.08

    CiNii

  • 不確かさを包容する統合開発環境iArch-U (ソフトウェアサイエンス)

    中村 隼也, 渡辺 啓介, 深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   116 ( 127 ) 117 - 124  2016.07

    CiNii

  • Deep Learningのリポジトリマイニングへの適用に向けた初期研究 (ソフトウェアサイエンス)

    松本 卓大, 山下 一寛, 亀井 靖高, 鵜林 尚靖

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   116 ( 127 ) 149 - 155  2016.07

    CiNii

  • Magnet or Sticky? Measuring Project Characteristics from the Perspective of Developer Attraction and Retention

    Kazuhiro Yamashita, Yasutaka Kamei, Shane McIntosh, Ahmed E. Hassan, Naoyasu Ubayashi

      57 ( 3 )  2016.03

    CiNii

  • Uncertainty Management Using Git

      115 ( 487 ) 51 - 56  2016.03

    CiNii

  • DebugConcierge: クラウド知識に基づいたデバッグ支援

    廣瀬 賢幸, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高, 渡邉 卓也

    ウィンターワークショップ2016・イン・逗子 論文集   ( 2016 ) 18 - 19  2016.01

    CiNii

  • 不確かさを包容するテスト支援

    渡辺 啓介, 深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高, 渡邉 卓也

    ウィンターワークショップ2016・イン・逗子 論文集   ( 2016 ) 16 - 17  2016.01

    CiNii

  • CodeConcierge:クラウド知識に基づいたプログラミング支援

    高橋 裕太, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高, 渡邉 卓也

    ウィンターワークショップ2016・イン・逗子 論文集   ( 2016 ) 14 - 15  2016.01

    CiNii

  • 自律走行ロボットを用いたIoT開発PBLに向けた教材開発

    細合 晋太郎, 石田 繁巳, 亀井 靖高, 鵜林 尚靖, 福田 晃

    組込みシステムシンポジウム2015論文集   ( 2015 ) 40 - 45  2015.10

    CiNii

  • ICSE2015参加報告

    深町 拓也, 亀井 靖高, 鵜林 尚靖

       2015.09

  • マルチプラットフォーム向けソフトウェアに関する特定OS向け欠陥修正コミットの分析

    松本 卓大, 亀井 靖高, Shane McIntosh, 鵜林 尚靖

    ソフトウェアエンジニアリングシンポジウム2015論文集   ( 2015 ) 121 - 128  2015.08

    CiNii

  • 不確かさを包容した開発プロセスとその支援環境iArch-U (知能ソフトウェア工学)

    深町 拓也, 鵜林 尚靖, 細合 晋太郎

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   115 ( 154 ) 95 - 102  2015.07

    CiNii

  • 商用Androidソフトウェア開発環境におけるコードレビュー統計の実証的研究 (知能ソフトウェア工学)

    島垣 潤二, 亀井 靖高, 鵜林 尚靖

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   115 ( 154 ) 17 - 24  2015.07

    CiNii

  • 第37回ソフトウェア工学国際会議ICSE2015参加報告 (知能ソフトウェア工学)

    深町 拓也, 亀井 靖高, 鵜林 尚靖

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   115 ( 154 ) 87 - 94  2015.07

    CiNii

  • Coli : A Social Network Mining Tool for Analyzing the Society of OSS Projects

    KAWASHIMA Sekio, KAMEI Yasutaka, UBAYASHI Naoyasu

    Technical report of IEICE. SS   114 ( 510 ) 55 - 60  2015.03

     View Summary

    In open source software (OSS) development, participants discuss new functions and bug fixing via a mailing list. We develop Coli, which is the tool for mining participants' social network from the mailing list data stored in large-scale repositories. Coli supports generating and visualizing network graphs of OSS projects' participants and calculating social network metrics for the graphs. Furthermore, it is applicable to conduct analysis across multiple projects to understand the society of OSS projects.

    CiNii

  • Abstraction-Aware Data Flow Traceability

    GUO Zhongxiao, UBAYASHI Naoyasu, AI Di, LI Peiyuan, LI Yuning, FUKAMACHI Takuya, HOSOAI Shintaro, KAMEI Yasutaka

    Technical report of IEICE. SS   114 ( 510 ) 25 - 30  2015.03

     View Summary

    Abstraction plays an important role in software development. We previously proposed iArch, an IDE (Integrated Development Environment) for supporting the notion of fluid design abstraction. This is an approach in which an appropriate abstraction level can be captured by the convergence of fluid moving between design and implementation. Currently, iArch supports UML class and sequence diagrams as a design notation. In this paper, our approach is extended to data flow diagrams. We can obtain an appropriate abstraction level while preserving the traceability between a data flow diagram and program code.

    CiNii

  • オープンソースソフトウェアの進化における特定OS向け欠陥修正コミットの分析

    松本 卓大, 大坂 陽, 亀井 靖高, 鵜林 尚靖

    研究報告ソフトウェア工学(SE)   2015 ( 11 ) 1 - 6  2015.03

     View Summary

    本稿では,Git 等の版管理システムにおける欠陥修正の変更 (コミット) において,その修正が特定の OS 向けにどの程度存在するのかを明らかにし,特定の OS で発生する欠陥数やその推移の傾向について明らかにする.一般に,マルチプラットフォーム向けに開発されたソフトウェアは,各 OS 自体の進化に伴うコードの変更や追加が必要となる場合があり,この変更や追加により欠陥が発生する可能性がある.特定 OS 向け依存欠陥の特徴を検出することができれば,マルチプラットフォーム向けソフトウェアの進化の効率が向上する可能性がある.そこで,本稿では 2 つのリサーチクエスチョンを実験的に検証した.Squid,Graphvis,PostgreSQL,Qt5 の 4 つのオープンソースソフトウェアを用いた結果,1) キーワードに基づく特定方法により取得した特定 OS 向けの欠陥修正コミットが全体の欠陥修正コミットに占める割合は 5.4% であった,2)Windows 向けの欠陥修正コミットは,他の OS に比べ多かった,3)OS のリリースに伴う欠陥の修正が行われており,リリース前の 2 ヶ月間の欠陥修正コミット数はその他の 2 ヶ月間の期間に比べ 2.4 倍大きい,といった知見が得られた.

    CiNii

  • 不確かさを包容するJavaプログラミング環境

    深町 拓也, 鵜林 尚靖, 細合 晋太郎, 亀井 靖高

    研究報告ソフトウェア工学(SE)   2015 ( 21 ) 1 - 8  2015.03

     View Summary

    ソフトウェア開発の様々な段階において 「不確かさ」 への対応は避けられない.従来,これはリスク管理の一つとして処理してきた問題であるが,人手に大きく依存するため,バグやコードの難読化などの原因となりがちであった.一般的に 「不確かさ」 には Known Unknown (既知の未知) と Unknown Unknown (未知の未知) の 2 つのタイプがある.本論文では,Known Unknown タイプの不確かさをモジュラーにプログラミングできるインターフェース機構 Archface-U とその支援機構である iArch-U を提案する.iArch-U を用いることで不確かさを抱えたままでもアーキテクチャ設計と実装の整合性の維持や,制約条件の検査などを行いながら実装を行うことができる.

    CiNii

  • ソフトウェア進化におけるワークアイテムとコミット数に関する調査

    三浦 圭裕, 福島 崇文, 亀井 靖高, 鵜林 尚靖

    研究報告ソフトウェア工学(SE)   2015 ( 10 ) 1 - 7  2015.03

     View Summary

    本稿では,ソフトウェア開発における同一の目的を持った作業群 (ワークアイテム) について,ワークアイテム内のコミット数と作業目的の関係について調査する.マイニングソフトウェアリポジトリ分野における分析レベルとして,ファイル変更の単位 (コミット) での分析は盛んに行われているが,ワークアイテムレベルでの分析はあまり行われていない.本稿では,ワークアイテムの理解を深めるためにワークアイテムの大きさに着目し,2 つのリサーチクエスチョンを設け,調査した.Apache,Mozilla から収集した 8 つのサブプロジェクトに対して,調査を行った結果,1) 大きさが 2 以上のワークアイテムは,全体のワークアイテムに対して,56.8% 存在した,2-1) 大きさが上位のワークアイテムは大きさが下位のワークアイテムより,変更ファイル数の中央値が 2 倍大きい,2-2) 大きさが上位のワークアイテムは,大きさが下位のワークアイテムより re-open された件数が 3.57 倍多い,2-3) ワークアイテムの大きさとワークアイテムの重要度に関係はない,2-4) 大きさが上位のワークアイテムは,大きさが下位のワークアイテムより連続コミットを含むワークアイテム数が 1.5 倍多い.といった知見が得られた.

    CiNii

  • コードクローン解析に対するスーパーコンピュータ導入に向けた試行実験 (システム数理と応用)

    大坂 陽, 亀井 靖高, 堀田 圭佑, 鵜林 尚靖

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   114 ( 415 ) 13 - 18  2015.01

     View Summary

    近年リポジトリマイニングの分野では,巨大なデータをどのように扱うかが課題となっている.巨大なデータを扱う一手段としてスパコンを使うことがあげられるが,リポジトリマイニングの分野ではこれまで扱われてこなかった.本研究では, Apache CXFプロジェクトを対象としたコードクローン解析に対するスーパーコンピュータ導入に向けた試行実験を行ったので,その結果と試行実験から得られた現状の課題について報告する.

    CiNii

  • Just-In-Time Defect Prediction Tool anko

    TANAKA Shutaro, FUKUSHIMA Takafumi, YAMASHITA Kazuhiro, KAMEI Yasutaka, UBAYASHI Naoyasu

    Mathematical Systems Science and its Applications : IEICE technical report   114 ( 415 ) 19 - 24  2015.01

     View Summary

    Some previous studies show that defect prediction at the change-level (i.e., defect prediction for a commit to version control systems) is useful. We refer to this type of defect prediction as Just-In-Time defect prediction. We are developing a prototype tool that developers can easily perform Just-In-Time defect prediction to software development projects and can customize each function such as measuring metrics and building prediction models. In this paper, we describe an overview of this tool and report some improvement points based on feedback from users. And we also report use scenarios.

    CiNii

  • コードクローン解析に対するスーパーコンピュータ導入に向けた試行実験 (ソフトウェアサイエンス)

    大坂 陽, 亀井 靖高, 堀田 圭佑, 鵜林 尚靖

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報   114 ( 416 ) 13 - 18  2015.01

     View Summary

    近年リポジトリマイニングの分野では,巨大なデータをどのように扱うかが課題となっている.巨大なデータを扱う一手段としてスパコンを使うことがあげられるが,リポジトリマイニングの分野ではこれまで扱われてこなかった.本研究では, Apache CXFプロジェクトを対象としたコードクローン解析に対するスーパーコンピュータ導入に向けた試行実験を行ったので,その結果と試行実験から得られた現状の課題について報告する.

    CiNii

  • Just-In-Time Defect Prediction Tool anko

    TANAKA Shutaro, FUKUSHIMA Takafumi, YAMASHITA Kazuhiro, KAMEI Yasutaka, UBAYASHI Naoyasu

    Technical report of IEICE. SS   114 ( 416 ) 19 - 24  2015.01

     View Summary

    Some previous studies show that defect prediction at the change-level (i.e., defect prediction for a commit to version control systems) is useful. We refer to this type of defect prediction as Just-In-Time defect prediction. We are developing a prototype tool that developers can easily perform Just-In-Time defect prediction to software development projects and can customize each function such as measuring metrics and building prediction models. In this paper, we describe an overview of this tool and report some improvement points based on feedback from users. And we also report use scenarios.

    CiNii

  • Text Mining for Analyzing the Effect of the Value-Creation Oriented Educational Curriculum

    Shuhei Ohsako, Yasutaka Kamei, Shintaro Hosoai, Shigemi Ishida, Naoyasu Ubayashi, Akira Fukuda

    IPSJ SIG Notes   2014 ( 8 ) 1 - 8  2014.11

     View Summary

    Kyushu University Information Communication Technology Architect Educational Program(QITO) introduces the value-creation oriented PBL(Project Based Learning) to foster the human resources who can create new values. To raise the design ability and creative ability required for creation of the new values, we introduced the Design Thinking practice and improved the PBL theme. In this paper, we analyzed the effect of the value-creation oriented educational curriculum by using text mining method for the result of questionnaire in past PBL achievement presentation. As the effect of the improvement, we knew that created ideas had higher originality, and created services and business models were more feasible.

    CiNii

  • 共通問題の作成--ワークショップを通して--

    丸山 勝久, 鵜林 尚靖

       2014.10

  • 共通問題ショートエッセイ

    鵜林 尚靖, 野田 夏子, 滝沢 陽三, 松本 明

       2014.10

  • 座談会--共通問題を通して見るソフトウェア工学の30年--

    紫合 治, 青山 幹雄, 鵜林 尚靖, 野田 夏子, 岸 知二

       2014.10

  • PBL for IoT System

    HOSOAI SHINTARO, ISHIDA SHIGEMI, KAMEI YASUTAKA, OHSAKO SHUHEI, IGAKI HIROSHI, UBAYASHI NAOYASU, FUKUDA AKIRA

    Technical report of IEICE. SS   114 ( 127 ) 43 - 48  2014.07

     View Summary

    Project-based Learning (PBL) is widely adopted for teaching team software development in many educational facilities. The PBL requires teachers to make students learn project management skills and product development skills. In this paper, we explain our PBL design about loT system.

    CiNii

  • Refactoring Patterns for Design Abstraction

    Di Ai, Naoyasu Ubayashi, Peiyuan Li, Yuning Li, Shintaro Hosoai, Yasutaka Kamei

    IPSJ SIG Notes   2014 ( 19 ) 1 - 8  2014.07

     View Summary

    Abstraction plays an important role in software design. It is preferable to explicitly separate design models from the corresponding code at an appropriate abstraction level. Unfortunately, it is not easy for ordinary software developers to find this adequate abstraction level. In order to seek a well-balanced separation of concerns between design and code, it is not avoidable to go back and forth between them. To support this iterative abstraction refinement process, we propose refactoring patterns consisting of MoveM2C (Move concerns from Model to Code) and MoveC2M (Move concerns from Code to Model). We evaluate the effectiveness of the proposed refactoring patterns by applying them to a real application.

    CiNii

  • PBL for IoT System

    Shintaro Hosoai, Shigemi Ishida, Yasutaka Kamei, Shuhei Ohsako, Hiroshi Igaki, Naoyasu Ubayashi, Akira Fukuda

    IPSJ SIG Notes   2014 ( 7 ) 1 - 6  2014.07

     View Summary

    Project-based Learning (PBL) is widely adopted for teaching team software development in many educational facilities. The PBL requires teachers to make students learn project management skills and product development skills. In this paper, we explain our PBL design about IoT system.

    CiNii

  • Refactoring Patterns for Design Abstraction

    AI DI, UBAYASHI NAOYASU, LI PEIYUAN, LI YUNING, HOSOAKI SHINTARO, KAMEI YASUTAKA

    Technical report of IEICE. SS   114 ( 127 ) 115 - 122  2014.07

     View Summary

    Abstraction plays an important role in software design. It is preferable to explicitly separate design models from the corresponding code at an appropriate abstraction level. Unfortunately, it is not easy for ordinary software developers to find this adequate abstraction level. In order to seek a well-balanced separation of concerns between design and code, it is not avoidable to go back and forth between them. To support this iterative abstraction refinement process, we propose refactoring patterns consisting of MoveM2C (Move concerns from Model to Code) and MoveC2M (Move concerns from Code to Model). We evaluate the effectiveness of the proposed refactoring patterns by applying them to a real application.

    CiNii

  • An Effect and Problem on Introducing the Design Thinking into PBL

    Shuhei Ohsako, Yasutaka Kamei, Shintaro Hosoai, Kimitaka Kato, Akihiko Ishizuka, Kazutoshi Sakaguchi, Miyuki Kawataka, Yoshitsugu Morita, Naoyasu Ubayashi, Akira Fukuda

      2014 ( 2 ) 1 - 7  2014.05

     View Summary

    In this paper, we describe a case study on introducing the Design Thinking carried out as preparations before Project Based Learning(PBL). The purpose of the introduction of the Design Thinking is to improve the student's skill to produce new added value at the time of the solution to the problem in project, and theme examination of PBL. We describe the examples of application of the Design Thinking into PBL, and describe effects and problems of the introduction.

    CiNii

  • 研究会活動紹介 − ソフトウェア工学研究会 −

    鵜林 尚靖

       2014.04

  • 開発メーリングリストマイニングの前処理システムの開発

    川島関夫, 亀井靖高, 鵜林尚靖

    研究報告ソフトウェア工学(SE)   2014 ( 19 ) 1 - 7  2014.03

     View Summary

    オープンソースソフトウェア (OSS) 開発プロジェクトのメーリングリストでは,追加機能やバグ修正といったプロジェクトの方針に関するやりとりが多く行われることから,蓄積されたメーリングリストデータを分析し,今後の開発活動に役立つ知見を発見する試み (メーリングリストマイニング) が行われている.しかしながら,メーリングリストデータは,自然言語を含んでいたり,プロジェクトによって運用のされ方が異っているため,解析に用いる前にいくつかの前処理が求められる.本発表では,既存研究で行われている一般的な前処理をまとめ,体系化し,前処理を実施するためのシステムを実装した.Hadoop の開発メーリングリストを対象としてシステムの評価を行った.前処理システムを用いることで,分析データを構成できることが確認できた.

    CiNii

  • Design of the DSL-Line Engineering Supporting Environment

    HUANG Changyun, KAMEI Yasutaka, UBAYASHI Naoyasu

    Technical report of IEICE. SS   113 ( 489 ) 103 - 108  2014.03

     View Summary

    Language-Oriented Programming (LOP) is a programming paradigm in which programmer conducts and uses Domain-Specific Languages (DSLs) for application development. Currently, we are proposing an automated DSL construction methodology called DSL-Line Engineering (DLE) for realizing the concept of the LOP. In this paper, we introduce the design and implementation of a language workbench for supporting DLE. As a case study, we applied this workbench to DSL construction for Mining Software Repositories (MSR).

    CiNii

  • ぺた語義: 実践的情報教育協働ネットワークenPiT

    井上 克郎, 楠本 真二, 後藤 厚宏, 鵜林 尚靖, 北川 博之

       2014.02

  • Design and Implementation of the Tool for Bug Prediction at the Change Level

    TANAKA Shutaro, YAMASHITA Kazuhiro, KAMEI Yasutaka, UBAYASHI Naoyasu

    Technical report of IEICE. SS   113 ( 422 ) 113 - 118  2014.01

     View Summary

    Some previous studies show that bug prediction at the change-level (i.e., bug prediction for a commit to version control systems) is useful. We refer to this type of bug prediction as Just-In-Time bug prediction. In this paper, we report a prototype tool that developers can easily perform Just-In-Time bug prediction to software development projects and can customize each function such as measuring metrics and building prediction models.

    CiNii

  • Design and Implementation of the Tool for Bug Prediction at the Change Level

    TANAKA Shutaro, YAMASHITA Kazuhiro, KAMEI Yasutaka, UBAYASHI Naoyasu

    Mathematical Systems Science and its Applications : IEICE technical report   113 ( 421 ) 113 - 118  2014.01

     View Summary

    Some previous studies show that bug prediction at the change-level (i.e., bug prediction for a commit to version control systems) is useful. We refer to this type of bug prediction as Just-In-Time bug prediction. In this paper, we report a prototype tool that developers can easily perform Just-In-Time bug prediction to software development projects and can customize each function such as measuring metrics and building prediction models.

    CiNii

  • クラッシュレポートが不具合修正に与える影響の分析

    小須田光, 亀井靖高, 伊原彰紀, 鵜林尚靖

    情報処理学会研究報告(Web)   2014 ( SE-183 )  2014

    J-GLOBAL

  • パッチレビュープロセスによるパッチ作成者の継続性の違い

    大坂陽, 伊原彰紀, 亀井靖高, 松本健一, 鵜林尚靖

    情報処理学会研究報告(Web)   2014 ( SE-184 )  2014

    J-GLOBAL

  • A Case Study on Introducing the Design Thinking into PBL

    Ohasako Shuhei, Kamei Yasutaka, Hosoai Shintaro, Kato Kimitaka, Ishizuka Akihiko, Sakaguchi Kazutoshi, Kawataka Miyuki, Morita Yoshitsugu, Ubayashi Naoyasu, Fukuda Akira

    Technical report of IEICE. SS   113 ( 269 ) 139 - 145  2013.10

     View Summary

    In this paper, we describe a case study on introducing the Design Thinking carried out as preparations before Project Based Learning (PBL). The purpose of the introduction of the Design Thinking is to improve the student's skill to produce new added value at the time of the solution to the problem in project, and theme examination of PBL. In addition, we describe the result of the questionnaire for the effect of the introduction.

    CiNii

  • ソフトウェア開発プロジェク卜をまたがるJust-In-Timeバグ予測の実験的評価

    福島崇文, 亀井靖高, 鵜林尚靖

    研究報告ソフトウェア工学(SE)   2013 ( 21 ) 1 - 8  2013.10

     View Summary

    本稿では,ソフトウェアの変更に対するバグ予測 (Just-In-Timeバグ予測) において,他のプロジェクトのデータを利用してモデル構築・判別を行う上で有用と考えられる手法を明らかにする.一般に,モデルの構築には同一プロジェクトのデータから計測されたメトリクスを用いることが多いが,データの蓄積ができていない企業や,新規開発のためデータの蓄積が少ない場合などでは利用できない.そこで本稿では,他のプロジェクトのデータを利用した有用な手法を明らかにするため,4 つのリサーチクエスチョンを実験的に検証した.6 つのオープンソースプロジェクトを用いて実験を行った結果,1) Just-In-Time バグ予測モデル構築において,ランダムフォレストはロジスティック回帰分析に比べて有用である,2) データに前処理 (正規化) を適用しても,予測精度の向上に効果はない,3) 複数のプロジェクトデータの中からメトリクス間の分布が類似しているデータを選ぶことで予測精度の向上が期待できる,4) 複数のプロジェクトデータによる集団学習は安定した予測精度を得られる事が期待できる.といった知見が得られた.

    CiNii

  • A Case Study on Introducing the Design Thinking into PBL

    Shuhei Ohsako, Yasutaka Kamei, Shintaro Hosoai, Kimitaka Kato, Akihiko Ishizuka, Kazutoshi Sakaguchi, Miyuki Kawataka, Yoshitsugu Morita, Naoyasu Ubayashi, Akira Fukuda

    IPSJ SIG Notes   2013 ( 22 ) 1 - 7  2013.10

     View Summary

    In this paper, we describe a case study on introducing the Design Thinking carried out as preparations before Project Based Learning(PBL). The purpose of the introduction of the Design Thinking is to improve the student's skill to produce new added value at the time of the solution to the problem in project, and theme examination of PBL. In addition, we describe the result of the questionnaire for the effect of the introduction.

    CiNii

  • ソフトウェア開発プロジェクトをまたがるJust-In-Timeバグ予測の実験的評価

    福島 崇文, 亀井 靖高, 鵜林 尚靖

    電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス   113 ( 269 ) 131 - 138  2013.10

     View Summary

    本稿では,ソフトウェアの変更に対するバグ予測(Just-In-Timeバグ予測)において,他のプロジェクトのデータを利用してモデル構築・判別を行う上で有用と考えられる手法を明らかにする.一般に,モデルの構築には同一プロジェクトのデータから計測されたメトリクスを用いることが多いが,データの蓄積ができていない企業や,新規開発のためデータの蓄積が少ない場合などでは利用できない.そこで本稿では,他のプロジェクトのデータを利用した有用な手法を明らかにするため,4つのリサーチクエスチョンを実験的に検証した.6つのオープンソースプロジェクトを用いて実験を行った結果,1)Just-In-Timeバグ予測モデル構築において,ランダムフォレストはロジスティック回帰分析に比べて有用である,2)データに前処理(正規化)を適用しても,予測精度の向上に効果はない,3)複数のプロジェクトデータの中からメトリクス間の分布が類似しているデータを選ぶことで予測精度の向上が期待できる,4)複数のプロジェクトデータによる集団学習は安定した予測精度を得られる事が期待できる.といった知見が得られた.

    CiNii

  • コンテキストアウェアアプリケーション − ポストPC 時代の共通問題 −

    鵜林 尚靖

       2013.09

  • Experimental Evaluation of Eleven Fault-Density Models

    KOBAYASHI Hirotake, TODA Koji, KAMEI Yasutaka, MONDEN Akito, MINE Tsunenori, UBAYASHI Naoyasu

    The IEICE transactions on information and systems (Japanese edition)   96 ( 8 ) 1892 - 1902  2013.08

    CiNii

  • A Case Study on Introducing the DaaS Development Environment into PBL

    Hosoai Shintaro, Kamei Yasutaka, Ohsako Shuhei, Igaki Hiroshi, Ubayashi Naoyasu, Fukuda Akira

    Technical report of IEICE. KBSE   113 ( 160 ) 103 - 108  2013.07

     View Summary

    Our course has been carrying out PBL basic education through the development of an enterprise application for book management in bookstores. In previous PBL, students installed development and runtime environments on their PCs and conducted the development individually. In this paper, we describe a case study for PBL education, in which the DaaS environment running on cloud is introduced as the development and runtime environment for students. Through utilization of DaaS, it becomes easier to provide a uniform development environment for all students, and to comprehend students' development status.

    CiNii

  • Fluid Design Abstraction

    UBAYASHI Naoyasu, DI Ai, HOSOAI Shintaro, KAMEI Yasutaka

    Technical report of IEICE. SS   113 ( 159 ) 37 - 42  2013.07

     View Summary

    Abstraction plays an important role in software development. However, it is not easy to decide which concern should be described in a design model and which concern should be written in code. An abstraction level of a design specification may change as a result of reconsidering the balance between design and code. This paper proposes the notion of fluid design abstraction, a design approach in which an appropriate abstraction level can be captured by the convergence of fluid moving between design and implementation. To support fluid design abstraction, we provide the followings: 1) an architectural interface mechanism for specifying abstraction, 2) metrics for measuring an abstraction level, and 3) abstraction-aware traceability check between design and code.

    CiNii

  • Fluid Design Abstraction

    UBAYASHI Naoyasu, DI Ai, HOSOAI Shintaro, KAMEI Yasutaka

    Technical report of IEICE. KBSE   113 ( 160 ) 37 - 42  2013.07

     View Summary

    Abstraction plays an important role in software development. However, it is not easy to decide which concern should be described in a design model and which concern should be written in code. An abstraction level of a design specification may change as a result of reconsidering the balance between design and code. This paper proposes the notion of fluid design abstraction, a design approach in which an appropriate abstraction level can be captured by the convergence of fluid moving between design and implementation. To support fluid design abstraction, we provide the followings: 1) an architectural interface mechanism for specifying abstraction, 2) metrics for measuring an abstraction level, and 3) abstraction-aware traceability check between design and code.

    CiNii

  • PBLにおける発想法とロジカルシンキングの導入事例

    亀井靖高, 細合晋太郎, 大迫周平, 川高美由紀, 西川忠行, 鵜林尚靖, 福田晃

    研究報告ソフトウェア工学(SE)   2013 ( 4 ) 1 - 6  2013.07

     View Summary

    本稿では,Project-Based Learning (PBL) 演習開始の前準備として実施された発想法とロジカルシンキングの導入事例を報告する.発想法の導入の目的は,グループ演習の際に必要なアイデア出しを効果的に行うこと,及び,活発な議論を通してグループ間のチームワークを高めることである.また,ロジカルシンキングを活用することでそのアイデアを発散させない工夫を行った.導入の効果に対してアンケートを行ったので,その結果も報告する.

    CiNii

  • リポジトリマイニングに対するHadoopの性能評価

    大坂陽, 山下一寛, 亀井靖高, 鵜林尚靖

    研究報告ソフトウェア工学(SE)   2013 ( 21 ) 1 - 6  2013.03

     View Summary

    リポジトリマイニング分野において,リポジトリのデータサイズが増加し続けていることから,リポジトリマイニングの処理性能の向上は本研究分野の主な課題の 1 つである.本稿では,Hadoop を用いたスケールアウトによる処理性能の向上を図り,従来手法による逐次処理との性能差を実験的に評価する.リポジトリに保管されているコミットログデータから,ソフトウェアメトリクスの計算を行った.Eclipse,及び,Android を題材としたケーススタディを行った結果,ログデータのサイズが十分 (150MB 以上) に大きい場合,Hadoop を用いることは有用であることがわかった.また,対象期間の大きさを変えながら実験を行った結果,全期間のログデータを用いた場合,Hadoop を用いる効果は最も大きく,Eclipse プロジェクトで 1.71 倍高速に, Android プロジェクトで 42.27 倍高速に計算できることがわかった.

    CiNii

  • クラッシュログを用いたソースコード不具合箇所の特定に向けた分析

    長本貴光, 亀井靖高, 伊原彰紀, 鵜林尚靖

    研究報告ソフトウェア工学(SE)   2013 ( 12 ) 1 - 6  2013.03

     View Summary

    ソフトウェアの品質向上を目的として,クラッシュレポートを収集する開発プロジェクトが増えている.クラッシュレポートは,ソフトウェアがクラッシュした際に自動的に開発プロジェクトに送信され,その内容は実行環境に関する情報 (バージョン,OS,メモリ情報等) をまとめたものである.本研究では,不具合の修正箇所の特定にかかる労力を軽減するために,クラッシュレポートからソースコードの不具合箇所を自動的に特定することを最終的な目標としている.本稿では,その前段階として,クラッシュレポートからソースコードの修正箇所をどのように関連付けられるかについて分析を行った.Firefox を対象に行ったケーススタディの結果,クラッシュレポートのバグ含有率,及び,リンク率は,全バージョンの平均でそれぞれ 62.26 %と 15.4 %であった.

    CiNii

  • クラッシュログを用いたソースコード不具合箇所の特定に向けた分析

    長本貴光, 亀井靖高, 伊原彰紀, 鵜林尚靖

    情報処理学会研究報告(CD-ROM)   2012 ( 6 )  2013

    J-GLOBAL

  • E-CUBE : An Analysis Tool for Three "Evolution of Mining Software Repositories"

    YAMASHITA Kazuhiro, KAMEI Yasutaka, HISAZUMI Kenji, UBAYASHI Naoyasu

    Technical report of IEICE. KBSE   112 ( 314 ) 73 - 78  2012.11

     View Summary

    In this paper, we propose E-CUBE, which is an analysis tool to support three "Evolution of Mining Software Repositories". Platform Evolution means the evolution of repositories (e.g., shifting from CVS to Git). Technology Evolution means the evolution of research targets by new analysis methods (e.g., focusing on new software metrics and shifting from the file-level to the method-level) and Scale Evolution means the evolution of research views (e.g., shifting from local to global). To encapsulate the essence of three evolutions, we introduce a domain specific language (DSL) for MSR studies to E-CUBE. The DSL in E-CUBE consists of operators (e.g., get revision and select) that separate implementation from the evolutions. Through case studies of three representative MSR tasks, we show E-CUBE could be useful for MSR studies.

    CiNii

  • Using Alloy to Support the Building of Domain Specific Language for Mining Software Repositories

    HUANG Changyun, NAKASHIRO Ryosuke, YAMASHITA Kazuhiro, KAMEI Yasutaka, HISAZUMI Kenji, UBAYASHI Naoyasu

    Technical report of IEICE. SS   112 ( 164 ) 79 - 84  2012.07

     View Summary

    This paper proposes an automated approach to build DSLs (Domain-Specific Languages) for MSR (Mining Software Repositories). Using Alloy, a DSL is generated from a FODA (Feature-Oriented Domain Analysis) model that represents language features for MSR. Alloy can find a configuration of the language features by giving language constraints.

    CiNii

  • Using Alloy to Support the Building of Domain Specific Language for Mining Software Repositories

    HUANG Changyun, NAKASHIRO Ryosuke, YAMASHITA Kazuhiro, KAMEI Yasutaka, HISAZUMI Kenji, UBAYASHI Naoyasu

    Technical report of IEICE. KBSE   112 ( 165 ) 79 - 84  2012.07

     View Summary

    This paper proposes an automated approach to build DSLs (Domain-Specific Languages) for MSR (Mining Software Repositories). Using Alloy, a DSL is generated from a FODA (Feature-Oriented Domain Analysis) model that represents language features for MSR. Alloy can find a configuration of the language features by giving language constraints.

    CiNii

  • QORAL : External Domain-Specific Language for Mining Software Repositories with GPGPU

    NAKAMURA Hiroki, NAGANO Rina, HISAZUMI Kenji, KAMEI Yasutaka, UBAYASHI Naoyasu, FUKUDA Akira

    Technical report of IEICE. SS   112 ( 23 ) 13 - 18  2012.05

     View Summary

    The Mining Software Repositories (MSR) field integrates and analyzes data stored in repositories such as source control and bug repositories to support practitioners. It is important challenge to reduce total analyzing time of mining repositories caused by applying a large number of metrics to the data and quantity of calculation. This paper proposes QORAL, which is an external domain-specific language and an environment to generate codes automatically for mining repositories accelerated by General-Purpose Computing on Graphics Processing units (GPGPU). In a case study, we found that QORAL is effective for productivity, readability, and modification facility.

    CiNii

  • An Empirical Study of Bug Prediction for Software Changes

    KAMEI Yasutaka, UBAYASHI Naoyasu

    Technical report of IEICE. SS   111 ( 481 ) 91 - 96  2012.03

     View Summary

    To clarify the effects of bug prediction for software changes, this paper experimentally evaluates the performance of bug prediction models we build using the 14 factors we extracted. In the experiment, we use a logistic regression model to perform our prediction. A study of 6 open source software projects shows that the model can predict whether or not a software change will lead to a bug, with 30% average precision and 74% average recall. The improvement of precision by using the model is 80%, compared to a random predictor. We also study the odds ratio of each measure of the model. We found that 1) the number of files and relative churn metrics are the most important factors in determining whether or not a change is bug inducing, 2) whether the change fixes a bug or not is important, and 3) the last time the files were changed is important.

    CiNii

  • Design and Implementation of Domain-Specific Language for Mining Software Repositories

    YAMASHITA Kazuhiro, YAMAMOTO Daisuke, KAMEI Yasutaka, HISAZUMI Kenji, UBAYASHI Naoyasu

    Technical report of IEICE. SS   111 ( 481 ) 145 - 150  2012.03

     View Summary

    To improve the effectiveness of the process for collecting and pre-processing data from software repositories, we design and implement a domain specific language (DSL), named ArgyleJ (A repository mining query language for Java), for mining software repositories. To design and implement the DSL, domain knowledge for mining software repositories is required. Therefore, first, we perform a feature analysis to the domain of mining software repositories, then we design and implement the DSL based on the feature model. To evaluate the effectiveness of ArgyleJ, we implement one of the representative case studies of an MSR analysis by using both of ArgyleJ and Java. The case study shows that ArgyleJ outperforms Java to collect and pre-process data from software repositories.

    CiNii

  • Architectural Point Mapping for Bidirectional Traceability between Design and Code

    UBAYASHI Naoyasu, KAMEI Yasutaka

    Mathematical Systems Science and its Applications : IEICE technical report   111 ( 405 ) 15 - 20  2012.01

     View Summary

    Well-designed architecture leads to high-quality systems. However, it is not easy to design architecture reflecting the intention of developers and implement the result of design as a program while preserving the architectural correctness. To deal with this problem, this paper proposes two novel ideas: Archpoint (Architectural point) and Archmapping (Archpoint Mapping). Archpoints are points for representing the essence of architectural design in terms of behavioral and structural aspects. Archmapping is a mechanism for checking the bidirectional traceability between design and code. The traceability can be verified by checking whether archpoints in design are consistently mapped to program points in code. For this checking, we use an SMT (Satisfiability Modulo Theories) solver.

    CiNii

  • Architectural Point Mapping for Bidirectional Traceability between Design and Code

    UBAYASHI Naoyasu, KAMEI Yasutaka

    Technical report of IEICE. SS   111 ( 406 ) 15 - 20  2012.01

     View Summary

    Well-designed architecture leads to high-quality systems. However, it is not easy to design architecture reflecting the intention of developers and implement the result of design as a program while preserving the architectural correctness. To deal with this problem, this paper proposes two novel ideas: Archpoint (Architectural point) and Archmapping (Archpoint Mapping). Archpoints are points for representing the essence of architectural design in terms of behavioral and structural aspects. Archmapping is a mechanism for checking the bidirectional traceability between design and code. The traceability can be verified by checking whether archpoints in design are consistently mapped to program points in code. For this checking, we use an SMT (Satisfiability Modulo Theories) solver.

    CiNii

  • Architectual Point Mapping for Bidirectional Traceability between Design and Code

    UBAYASHI Naoyasu, KAMEI Yasutaka

      111 ( 405 ) 15 - 20  2012.01

    CiNii

  • Architectual Point Mapping for Bidirectional Traceability between Design and Code

    UBAYASHI Naoyasu, KAMEI Yasutaka

      111 ( 406 ) 15 - 20  2012.01

    CiNii

  • Verification of BPEL Workflows Design using Model Checking

    NAKASHIRO Ryosuke, KAMEI Yasutaka, UBAYASHI Naoyasu, NAKAJIMA Shin, IWAI Akihito

    IEICE technical report   111 ( 107 ) 7 - 10  2011.06

     View Summary

    The goal of this paper is to verify the behavioral specification of the Web service workflows described by BPEL (Business Process Execution Language) using SPIN model checker. Therefore, this paper introduces patterns to map from the specification to Promela (Process or Protocol Meta Language), which is a verification modeling language in SPIN model checker. The result of our case study using a parking navigation service shows that our approach can automatically verify the specification.

    CiNii

  • A Method to Analyze Failure Scenarios of Embedded Systems by Using Unexpected Phenomena

    MISE Toshiro, SHINYASHIKI Yasufumi, KATAMINE Keiichi, HASHIMOTO Masaaki, NAKATANI Takako, UBAYASHI Naoyasu

    IEICE technical report   110 ( 468 ) 19 - 24  2011.03

     View Summary

    This paper describes an analysis matrix and its method for extracting failure scenarios named ESIM (Embedded System Improving Method) in order to improve the safety of embedded system products such as the household electrical appliances. The method extracts product failures at the definition of the software requirement specifications. We can extract product failures by using existing failure analysis method when the failure occurs due to single serious fault of one device of the product. On the other hand, it is difficult to extract a failure which occurs by overlapping some minor faults although it is a serious problem. Especially, it is hard to extract failures that can only be found by analyzing the timing of the fault occurrence dynamically. This paper refines the analysis matrix which can dynamically analyze overlapping minor faults. It also describes a case study applied to an actual product development project, and discusses about effectiveness and practicality.

    CiNii

  • PROJECT MANAGEMENT PATTERNS TO PREVENT SCHEDULE DELAY CAUSED BY REQUIREMENTS CHANGES Empirical Study on a Successful Project

    Shouzo Hori, Takako Nakatani, Keiichi Katamine, Naoyasu Ubayashi, Masaaki Hashimoto

    ICSOFT 2009: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 1     115 - +  2009

     View Summary

    We propose PM (Project Management) patterns in order to prevent schedule delays caused by requirements changes on empirical studies. Changes or late elicitation of requirements during the design, coding and test processes are one of the most serious risks, which may delay the project schedules. However, changes and late elicitation of requirements are sometimes inevitably accepted during the development processes. Therefore, the PM method for preventing schedule delays caused by changes and late elicitation of requirements during the development processes should be studied. In this study, we examined the actual conditions of a project. The project succeeded in preventing schedule delays, though it did accept changes and late elicitation of requirements during the development processes. As a result, we were able to extract various typical PM techniques for preventing schedule delays caused by requirements elicitation. The techniques were also applied to other projects. Thus, we call them "PM patterns". Moreover, we've arranged the patterns on a two-dimensional framework. The first dimension is a set of nine knowledge areas of PM such as scope, time and cost management. The second dimension is a group of PM processes such as planning, executing and controlling processes. We also break down the project goal, in this case, the redevelopment of systems for future modifiability, into issues such as keeping lead time and educating engineers, and arrange them on the framework. Then, we discuss the relationship between the project goal and PM patterns on the framework.

  • Formalization for Integrating Information Flow Diagram and Analysis Matrix to Analyze Unexpected Obstacles in Embedded Systems

    INOUE Tomio, MISE Toshiro, SHINYASHIKI Yasufumi, HASHIMOTO Masaaki, KATAMINE Keiichi, UBAYASHI Naoyasu, NAKATANI Takako

    IEICE technical report   108 ( 326 ) 7 - 12  2008.11

     View Summary

    We can treat embedded systems as two aspects about unexpected obstacles such as the failure. One is a static side using IFD (Information Flow Diagram). Another is a dynamic side using analysis matrix. Therefore I formalize IFD and the analysis matrix to show the relations between both exactly. In addition, I investigate mechanism of the abstraction in the analysis matrix by formalization and help with the analysis that I used both for. In this paper, I discuss it about a definition and the effectiveness that formalized both.

    CiNii

  • A Discussion on QFD and Guide-Words in Analysis of Unexpected Obstacles in Embedded Systems

    KUBO Junya, INOUE Tomio, MISE Toshiro, SHINYASHIKI Yasufumi, HASHIMOTO Masaaki, KATAMINE Keiichi, UBAYASHI Naoyasu, NAKATANI Takako

    IEICE technical report   108 ( 326 ) 1 - 6  2008.11

     View Summary

    In the development of embedded software, about 70% of the source code of the embedded software is generally allocated to handling unexpected obstacles such as system failure. The authors already proposed an analysis method of unexpected obstacles in embedded systems. The guide-words of HAZOP (Hazard and Operability Study) have an important role in the analysis method. However, the guide-words have not yet been studied satisfactorily. Therefore, this paper dicusses the relationship between the guide-words and QFD (Quaity Function Deployment) which relates the system quality to the function implementing the quality.

    CiNii

  • A Case Study: Requirements Elicitation Processes throughout a Project

    Takako Nakatani, Shouzo Hori, Naoyasu Ubayashi, Keiichi Katamine, Masaaki Hashimoto

    PROCEEDINGS OF THE 16TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE     241 - +  2008

     View Summary

    Requirements changes sometimes cause a project to fail. A lot of projects now follow incremental development processes so that new requirements and requirements changes can be incorporated as soon as possible. These processes are called integrated requirements processes which integrate requirements processes with other development processes. We have investigated the requirements processes of a project from beginning to end, both quantitatively and qualitatively. Our focus is to clarify the types of requirements based on the components contained within a certain portion of the software architecture. Each type reveals its typical requirements processes through its rationale. The case studied is a system to manage the orders and services of a restaurant. In this paper, we introduce the case and describe the types of requirements processes. Then we discuss the reasons why we could not elicit all the requirements in the early development processes.

    DOI

  • A Discussion on Domain Modeling in an Example of Motivation-Based Human Resource Management

    Keiichi Ishibashi, Masaaki Hashimoto, Keiichi Katamine, Ryoma Shiratsuchi, Keita Asaine, Takako Nakatani, Naoyasu Ubayashi, Yoshihiro Akiyama

    KNOWLEDGE-BASED SOFTWARE ENGINEERING   180   32 - +  2008

     View Summary

    This paper proposes a domain model comprising a static model, dynamic model and scenario generation method for providing a foundation for motivation-based human resource management. One of the main concerns of managers when establishing a management method in an organization, is the individual members' motivation for the method. It is, however, difficult to manage the members' motivation, because the human resource is very complicated. We therefore, propose a domain model by applying Lawler's motivation model. Using this model, we analyze an actual example of successfully establishing CCPM (Critical Chain Project Management) in a company. We discuss primarily the stability of states, motivation, understanding of individuals' roles and their relationship.

    DOI

  • A context analysis method for constructing reliable embedded systems

    UBAYASHI N.

    Proceedings of Workshop on Modeling in Software Engineering (MISE 2008) (Workshop at ICSE 2008)    2008

    CiNii

  • A Case Study and Discussion on a Requirement Analysis Method of Unexpected Obstacles in Embedded Software by Combining Information Flow Diagram with Analysis Matrix

    TANIMOTO Masaki, MISE Toshiro, SHINYASHIKI Yasufumi, HASHIMOTO Masaaki, NAKATANI Takako, UBAYASHI Naoyasu, KATAMINE Keiichi

    IEICE technical report   107 ( 331 ) 31 - 36  2007.11

     View Summary

    This paper describes a case study and discussion on a requirement analysis method of unexpected obstacles in embedded software by combining Information Flow Diagram with Analysis Matrix. The integrated analysis method is practical because the analysis method assumes the roles of embedded software expert engineers and non-expert engineers. This paper also discusses the effectiveness and future problems of the analysis method.

    CiNii

  • A Context-based Product Line Approach Using VDM++

    UBAYASHI NAOYASU, KANAGAWA HIROTOSHI, SETO TOSHIKI, NAKAJIMA SHIN, HIRAYAMA MASAYUKI

    IPSJ journal   48 ( 8 ) 2492 - 2507  2007.08

     View Summary

    We propose a new product line development method that takes into account the contexts of embedded systems. Most of the current approaches focus on the system configuration only. Unexpected defects might be found in a system due to conflicting combinations of the system and its contexts. In order to deal with this issue, we propose a method for constructing product specifications composed of both system and context lines. Additionally we show how to describe and validate the product line specifications using VDM++.

    CiNii

  • The Empirical Study of Integrated Requirements Engineering

    HORI Shozo, NAKATANI Takako, KATAMINE Keiichi, UBAYASHI Naoyasu, HASHIMOTO Masaaki

    IEICE technical report   107 ( 4 ) 25 - 28  2007.04

     View Summary

    We study the mechanism of controlling the process of requirements changes of software development. We analyze the requirements change record of an actual development project. According to our study, the development process which integrated the requirements elicitation process with other processes can be proposed.

    CiNii

  • A Method for Extracting Unexpected Scenarios of Embedded Systems

    Toshiro Mise, Yasufumi Shinyashiki, Takako Nakatani, Naoyasu Ubayashi, Keiichi Katamine, Masaaki Hashimoto

    KNOWLEDGE-BASED SOFTWARE ENGINEERING   140   41 - +  2006

     View Summary

    Systems embedded in household electric appliances are used for long periods of time by various kinds of people. These environments sometimes cause unexpected failures. To save users from the appliances failures, every product is required to retain a high standard of quality and safety until their terminal period. We have developed a method named ESIM (Embedded System Improving Method) to extract the causes of failures and lead failure scenarios to make design specifications secure prior to development. The scope of the method covers hardware deterioration, partial failure, environmental exception, as well as illegal operations. In this article, we present a practical method to evaluate comprehensive failure scenarios derived from this method.

  • Information Flow Diagram and Analysis Method for Unexpected Obstacle Specification of Embedded Software

    Hidehiro Kametani, Yasufumi Shinyashiki, Toshiro Mise, Masa-aki Hashimoto, Naoyasu Ubayashi, Keiichi Katamine, Takako Nakatani

    KNOWLEDGE-BASED SOFTWARE ENGINEERING   140   115 - +  2006

     View Summary

    This paper proposes an IFD (information Flow Diagram) and all analysis method using the IFD for finding unexpected obstacles during the specification process of embedded software. Recently, embedded software has become increasingly larger in scale and more complicated, while time available for software development has become shorter. Both these industry trends affect the quality of the software. To improve the quality, it is necessary to find unexpected obstacles early in the specification process. This paper also describes a case study and discusses IFD and the analysis method.

  • A Basic Model and Specification Analysis Method for Embedded Software Exceptions

    MISE Toshiro, SHINYASHIKI Yasufumi, HASHIMOTO Masaaki, UBAYASHI Naoyasu, TAKAMINE Keiichi, NAKATANI Takako

    IPSJ SIG Notes   2005 ( 29 ) 81 - 88  2005.03

     View Summary

    Recently, embedded software needs the improvement of development methodology because of increasing scale and complexity. One of the important problems in requirement analysis of embedded software is lack of the methodology that handles exceptions. Therefore, we have been studying an exception handling methodology in embedded software. We have already proposed a conceptual model of exceptions and an analysis matrix. In this paper, we descibe a basic model of these and discuss the analysis matrix from the viewpoint of the model.

    CiNii

  • An analysis method with failure scenario matrix for specifying unexpected obstacles in embedded systems

    T Mise, Y Shinyashiki, M Hashimoto, N Ubayashi, K Katamine, T Nakatani

    12TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS     447 - 454  2005

     View Summary

    This paper describes an analysis method with failure scenario matrix for specifying unexpected obstacles in order to improve the quality of embedded systems. Although embedded software has become increasingly large in scale and complexity, companies are requiring the software to be developed within shorter periods of time. Therefore, the quality of the software is bound to suffer This problem is one of the most serious concerns in a coming age of ubiquitous embedded systems. In order to improve the quality, it is very important to specify the forbidden behavior of embedded systems. The forbidden behavior of unexpected obstacles is analyzed by using a matrix and scenarios. This paper provides a detailed description of the analysis method used, in particular the cause, phenomenon, and goal in the scenario, relating them to each other by using a matrix.

    DOI

▼display all

 

Syllabus

▼display all

Teaching Experience

  • プログラミング論II

    九州大学  

    2020
    -
     
     

  • ソフトウェア工学

    九州大学  

    2020
    -
     
     

  • プロジェクトマネジメント特論

    九州大学  

    2020
    -
     
     

  • コンパイラ

    九州大学  

    2020
    -
     
     

 

Social Activities

  • ソフトウェア開発にかける夢 ~バグがなく使い勝手の良いソフトウェアの作り方~

    広島市立基町高校 

    2015.10
    -
     

Academic Activities

  • 9th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2021)

    Competition, symposium, etc.

    2021.02
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2020年度)

    Peer review

    2020.02
    -
    2020.12
  • 日本ソフトウェア科学会 第27回ソフトウェア工学の基礎ワークショッ プ FOSE2020

    Competition, symposium, etc.

    鳥羽 Japan

    2020.11
     
     
  • 19th International Conference on Generative Programming: Concepts & Experiences (GPCE 2020)

    Competition, symposium, etc.

    2020.11
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウム SES2020

    Competition, symposium, etc.

    横浜 Japan

    2020.09
     
     
  • 日本ソフトウェア科学会第37回大会

    Competition, symposium, etc.

    オンライン開催 Japan

    2020.09
     
     
  • IEEE International Conference on Computers, Software & Applications (COMPSAC 2020), Software Engineering Technology and Applications (SETA) Symposium

    Competition, symposium, etc.

    2020.07
     
     
  • 8th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2020)

    Competition, symposium, etc.

    2020.02
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2019年度)

    Peer review

    2019.02
    -
    2019.12
  • 日本ソフトウェア科学会 第26回ソフトウェア工学の基礎ワークショッ プ FOSE2019

    Competition, symposium, etc.

    下呂温泉 Japan

    2019.11
     
     
  • Workshop on Domain-Specific Modeling 2019 (DSM 2019)

    Competition, symposium, etc.

    2019.10
     
     
  • 19th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2019)

    Competition, symposium, etc.

    2019.09
    -
    2019.10
  • 情報処理学会ソフトウェアエンジニアリングシンポジウム SES2019

    Competition, symposium, etc.

    東京 Japan

    2019.08
     
     
  • 43rd IEEE International Conference on Computers, Software & Applications (COMPSAC ), Software Engineering Technology and Applications (SETA) Symposium

    Competition, symposium, etc.

    2019.07
     
     
  • 情報処理学会 第81回全国大会

    Competition, symposium, etc.

    福岡 Japan

    2019.03
     
     
  • 7th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2019)

    Competition, symposium, etc.

    2019.02
     
     
  • 31th IEEE Conference on Software Engineering Education and Training (CSEE&T in conjunction with the Hawaii International Conference on Systems Science (HICSS-52))

    Competition, symposium, etc.

    2019.01
     
     
  • 25th Asia-Pacific Software Engineering Conference (APSEC 2018)

    Competition, symposium, etc.

    2018.12
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2018年度)

    Peer review

    2018.02
    -
    2018.12
  • 日本ソフトウェア科学会 第25回ソフトウェア工学の基礎ワークショッ プ FOSE2018

    Competition, symposium, etc.

    函館 Japan

    2018.11
     
     
  • 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2018)

    Competition, symposium, etc.

    2018.09
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウム SES2018

    Competition, symposium, etc.

    東京 Japan

    2018.09
     
     
  • 42nd IEEE International Conference on Computers, Software & Applications (COMPSAC 2018), Software Engineering Technology and Applications (SETA) Symposium

    Competition, symposium, etc.

    2018.07
     
     
  • 10th International Workshop on Context-Oriented Programming (COP 2018)

    Competition, symposium, etc.

    2018.07
     
     
  • 日本ソフトウェア科学会誌 「コンピュータソフトウェア」 特集「実践的IT教育」(第2回)

    Peer review

    2017.03
    -
    2018.02
  • 6th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2018)

    Competition, symposium, etc.

    2018.01
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2017年度)

    Peer review

    2017.02
    -
    2017.12
  • 日本ソフトウェア科学会 第24回ソフトウェア工学の基礎ワークショッ プ FOSE2017

    Competition, symposium, etc.

    あわら市 Japan

    2017.11
     
     
  • 30th IEEE Conference on Software Engineering Education and Training (CSEE&T 2017)

    Competition, symposium, etc.

    2017.11
     
     
  • The 22nd International Conference on Engineering of Complex Computer Systems (ICECCS 2017)

    Competition, symposium, etc.

    2017.11
     
     
  • The 22nd International Conference on Engineering of Complex Computer Systems (ICECCS 2017)

    Competition, symposium, etc.

    2017.11
     
     
  • 17th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2017)

    Competition, symposium, etc.

    2017.09
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウム SES2017

    Competition, symposium, etc.

    東京 Japan

    2017.08
    -
    2017.09
  • 情報処理学会誌 「情報処理」 特集「ソフトウェア工学の最前線」

    Peer review

    2016.12
    -
    2017.08
  • 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2017)

    Competition, symposium, etc.

    2017.02
     
     
  • 日本ソフトウェア科学会誌 「コンピュータソフトウェア」 特集「実践的IT教育」(第1回)

    Peer review

    2016.05
    -
    2017.02
  • 第3回 実践的IT教育シンポジウム rePiT 2017

    Competition, symposium, etc.

    大阪 Japan

    2017.01
     
     
  • 日本ソフトウェア科学会 第23回ソフトウェア工学の基礎ワークショッ プ FOSE2016

    Competition, symposium, etc.

    琴平 Japan

    2016.12
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2016年度)

    Peer review

    2016.02
    -
    2016.12
  • 3rd Asia-Pacific Requirements Engineering Symposium (APRES 2016)

    Competition, symposium, etc.

    2016.11
     
     
  • 16th Workshop on Domain-Specific Modeling (DSM 2016)

    Competition, symposium, etc.

    2016.10
    -
    2016.11
  • 8th Asia-Pacific Symposium on Internetware (Internetware 2016)

    Competition, symposium, etc.

    2016.09
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2016

    Competition, symposium, etc.

    東京 Japan

    2016.08
    -
    2016.09
  • 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2016)

    Competition, symposium, etc.

    2016.02
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2015年度)

    Peer review

    2015.02
    -
    2015.12
  • 日本ソフトウェア科学会 第22回ソフトウェア工学の基礎ワークショッ プ FOSE2015

    Competition, symposium, etc.

    天童 Japan

    2015.11
     
     
  • 電子情報通信学会論文誌 ソフトウェア基礎・応用 特集号

    Peer review

    2014.11
    -
    2015.11
  • 15th Workshop on Domain-Specific Modeling (DSM 2015)

    Competition, symposium, etc.

    2015.10
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2015

    Competition, symposium, etc.

    東京 Japan

    2015.09
     
     
  • 7th International Workshop on Context-Oriented Programming (COP 2015)

    Competition, symposium, etc.

    2015.07
     
     
  • 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015)

    Competition, symposium, etc.

    2015.02
     
     
  • 日本ソフトウェア科学会 第21回ソフトウェア工学の基礎ワークショッ プ FOSE2014

    Competition, symposium, etc.

    霧島 Japan

    2014.12
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2014年度)

    Peer review

    2014.02
    -
    2014.12
  • 14th Workshop on Domain-Specific Modeling (DSM 2014)

    Competition, symposium, etc.

    2014.10
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2014

    Competition, symposium, etc.

    東京 Japan

    2014.09
     
     
  • 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2014)

    Competition, symposium, etc.

    2014.01
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2013年度)

    Peer review

    2013.02
    -
    2013.12
  • 日本ソフトウェア科学会 第20回ソフトウェア工学の基礎ワークショッ プ FOSE2013

    Competition, symposium, etc.

    加賀 Japan

    2013.11
     
     
  • 13th Workshop on Domain-Specific Modeling (DSM 2013)

    Competition, symposium, etc.

    2013.10
     
     
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2013

    Competition, symposium, etc.

    東京 Japan

    2013.09
     
     
  • Model Driven Development for Systems Design: Techniques, Tools and Methodologies (MDDSD 2013)

    Competition, symposium, etc.

    2013.07
     
     
  • MODULARITY: aosd 2013

    Competition, symposium, etc.

    福岡 Japan

    2013.03
     
     
  • 国際会議 MODULARITY: aosd2013 の主催

    ACM (Association for Computing Machinery) SIPLAN, ACM SIGSOFT, AOSA (Aspect-Oriented Software Association)  

    2011.03
    -
    2013.03

     View Summary

    Organizing Chairs として、国際会議 MODULARITY: aosd2013を福岡国際会議場で開催した (2013年3月24日 から 3月29日まで) 。本会議の誘致決定後(2011年3月)、2年間にわたり、開催準備を進めてきた。MODULARITY: aosd2013 はプログラミング言語およびソフトウェア工学の研究分野においてトップカンファレンスの一つであり、ACM SIGPLANとSIGSOFT が共催している。 ヨーロッパを中心に世界各国から約130名が参加した。

  • 1st International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2013)

    Competition, symposium, etc.

    2013.02
     
     
  • 日本ソフトウェア科学会 第19回ソフトウェア工学の基礎ワークショッ プ FOSE2012

    Competition, symposium, etc.

    湯布院 Japan

    2012.12
     
     
  • 情報処理学会論文誌「ソフトウェア工学」特集号(2012年度)

    Peer review

    2012.02
    -
    2012.12
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2012

    Competition, symposium, etc.

    東京 Japan

    2012.08
     
     
  • UML&FM 2012 (5th International workshop UML and Formal Methods)

    Competition, symposium, etc.

    2012.08
     
     
  • 50th International Conference on Objects, Models, Components and Patterns (TOOLS Europe 2012)

    Competition, symposium, etc.

    2012.05
    -
    2012.06
  • プロジェクトマネジメント学会論文誌

    Peer review

    2009.04
    -
    2012.03
  • 情報処理学会論文誌「ソフトウェア工学」特集号

    Peer review

    2011.01
    -
    2011.12
  • 情報処理学会論文誌「未来志向のソフトウェア工学」特集号

    Peer review

    2009.09
    -
    2010.09
  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2011

    Competition, symposium, etc.

    Japan

  • 日本ソフトウェア科学会 第18 回ソフトウェア工学の基礎ワークショッ プ FOSE2011

    Competition, symposium, etc.

    Japan

  • UML&FM 2011 (4th International workshop UML and Formal Methods)

    Competition, symposium, etc.

  • 情報処理学会組込みシステムシンポジウムESS2010 MDD ロボット チャレンジ

    Competition, symposium, etc.

    Japan

  • 日本ソフトウェア科学会 第17 回ソフトウェア工学の基礎ワークショッ プ FOSE2010

    Competition, symposium, etc.

    Japan

  • 情報処理学会ソフトウェアエンジニアリングシンポジウムSES2010

    Competition, symposium, etc.

    Japan

  • UML&FM 2010 (3rd International workshop UML and Formal Methods)

    Competition, symposium, etc.

▼display all