カテゴリー別アーカイブ: 未分類

「プログラムソースコードのわかりやすさの閾値に基づく評価基準とその導出手法群の評価」情報処理学会論文誌に採択

津田直彦, 鷲崎弘宜, 深澤良彰, 保田裕一朗, 杉村俊輔, “プログラムソースコードのわかりやすさの閾値に基づく評価基準とその導出手法群の評価”, 情報処理学会論文誌, pp.1-17, 2019. (掲載予定)

プログラムソースコード(以下コードと略す) における機能的不具合を伴わない構造上の問題は,コードスメル,発展性欠陥,不可視の技術的負債等と呼ばれ,長期的なソフトウェア開発において保守コストを増加させる原因のひとつとして知られている.そのため,コードのわかりやすさをコードメトリクスと閾値で自動評価する様々な手法がこれまでに提案されてきた.しかし,必ずしもメトリクス間のトレードオフや冗長性が考慮されていないために,問題個所の正解(教師データ) を用いても自動評価の精度が改善されにくい場合があるという問題を抱えていた.一方で,分類木学習と呼ばれる機械学習手法では複数のメトリクスの影響関係を考慮できるため,過学習しやすくなる可能性があるものの,評価精度のより大きな改善を期待できる.従来,コードのわかりやすさの評価の分野では,一般的な閾値ベースの手法と,閾値に加えて解釈の形式表現も導出可能な分類木学習との性能比較事例は報告されていない.本論文では評価実験として,建機制御用のC++組込みソフトウェア群を題材としてソースコードファイル単位の評価基準の導出における手法の性能を比較した.そして,分類木学習アルゴリズムC5.0 では少量の教師データでも開発者の認識に反しない評価基準を導出でき,教師データの量を増加させた際には従来手法よりも自動評価の精度が改善され,実用的であることを確認した.自動評価の精度としてはエキスパートが実施したレビュー結果との一致度(F 値) を用い,比較対象の従来手法にはパーセンタイル関数,Alves 法,Bender法,ROC 曲線法を用いた.

Body of Knowledge Model and Linked Data applied in development of Higher Education Curriculum, accepted for Computer Vision Conference (CVC 2019)

Pablo Alejandro Quezada- Sarmiento, Liliana Enciso, Lorena Conde, Monica Patricia Mayorga -Diaz, Martha Elizabeth Guaigua –Vizcaino, Wilmar Hernandez, Hironori Washizaki, “Body of Knowledge Model and Linked Data applied in development of Higher Education Curriculum,” Computer Vision Conference (CVC 2019), SAI Conference, 25-26 April 2019, Las Vegas, Nevada, United States

Designing Secure Software by Testing Application of Security Patterns, accepted for Exploring Security in Software Architecture and Design, IGI Global

Takanori Kobashi, Hironori Washizaki, Nobukazu Yoshioka, Haruhiko Kaiya, Takao Okubo, Yoshiaki Fukazawa, “Designing Secure Software by Testing Application of Security Patterns,” in Exploring Security in Software Architecture and Design, IGI Global, 2019. (invited)

Simply confirming potential threats and vulnerabilities in an early stage of the development process (e.g., the requirement- or design-phase) is insufficient because software developers are not necessarily security experts. Additionally, even if the software design considers security at an early stage, whether the software actually satisfies the security requirements must be confirmed. To realize secure design, we propose an application to design software systems with verification of security patterns using model testing. Our method provides extended security patterns, which include requirement- and design-level patterns as well as a new designing and model testing process that uses these patterns. Once developers specify threats and vulnerabilities in the target system in an early stage of development, our method can verify whether the security patterns are properly applied and assess if the vulnerabilities are resolved.

Delivering Value with Confidence “Swarming Patterns” accepted for SugarloafPLoP 2018

Joseph W. Yoder, Danijel Arsenovski, Ademar Aguiar and Hironori Washizaki, “Delivering Value with Confidence “Swarming Patterns”,” 12th Latin American Conference on Pattern Languages of Programs (SugarLoafPLoP 2018), Valparaíso, Región de Valparaíso, Chile, November 20-23, 2018

Many software development processes such as Agile and Lean focus on the delivery of working software that meets the needs of the end users. Many of these development processes help teams respond to unpredictability through incremental, iterative work cadences and through empirical feedback. There is a commitment to quickly deliver reliable working software that has the highest value to those using or benefiting from the software. A key principle to the long term success of a project is during the development and release cycles, to have confidence that changes will not break important parts of the system. This is only done if there is time taken to build confidence into the process and architecture. Swarming is a technique where multiple people work together to complete one or more tasks. Recently there has been success with techniques such as swarming to help assure the delivery meets the requirements and proper validation and checks are done before release. This paper will focus on some “Swarming” patterns and how they assist teams to Deliver with Confidence.

Delivering Value with Confidence “Quality Delivery Pipeline” accepted for SugarloafPLoP 2018

Joseph W. Yoder, Hironori Washizaki and Ademar Aguiar, “Deliver Value with Confidence: Quality Delivery Pipeline,” 12th Latin American Conference on Pattern Languages of Programs (SugarLoafPLoP 2018), Valparaíso, Región de Valparaíso, Chile, November 20-23, 2018

Many software development processes such as Agile and Lean focus on the delivery of working software that meets the needs of the end users. Many of these development processes help teams respond to unpredictability through incremental, iterative work cadences and through empirical feedback. There is a commitment to quickly deliver reliable working software that has the highest value to the those using or benefiting from the software. This can be done reliably if there is time taken to build confidence into the process and architecture. Continuous integration and delivery has been incorporated into many successful Agile processes. DevOps as a software engineering practice unifies software development (Dev) and software operation (Ops). To assist with quality delivery in these practices you need to provide a quality “Delivery Pipeline” to help assure the delivery meets the requirements and proper validation and checks are done before integration or release. This paper will focus on the “Delivery Pipeline” as a practice that can help sustain Delivering Value with Confidence.

Rubric to Evaluate Programming Learning of Elementary School Students accepted for SIGCSE 2019 Poster

Daisuke Saito, Hironori Washizaki, Yoshiaki Fukazawa, Yusuke Muto and Mariko Tamura, “Rubric to Evaluate Programming Learning of Elementary School Students,” The 50th ACM Technical Symposium on Computer Science Education (SIGCSE 2019), Poster, February 27 – March 2, 2019, Minneapolis, MN, USA

We propose a rubric to measure the reach of programming learning for elementary school students. Although many indicators to evaluate programming learning have been proposed, they rely on specific tools and methods. In addition, long-term evaluations of learners are difficult. This rubric, which is comprised of indices to solve the problem, aims to evaluate the learning achievement of logical skills such as logical thinking and problem solving using a unified learning goal. Then we investigate whether this rubric can be adapted to workshop of programming learning. This rubric successfully evaluated several workshops of programming learning as it provided a unified evaluation that covers common learning objectives in existing indicators. Hence, this rubric can solve several problems.