gr3 計算機ソフトウェア 小林研 権藤研 佐伯研 デファゴ研 宮 …西崎研究室...
TRANSCRIPT
Gr3 計算機ソフトウェア権藤研小林研
西崎研佐伯研
宮崎研
渡部研横田理央研横田治夫研
デファゴ研
M/(A?�"����K�R 4G�<��
�"����C-�"���3LC
9B��!��9B��9BP�I����WF1V
9B�-C9BD@4�-C9B�ST�-C�!� ��;U
=/(A?�"����4@6#
�"����*'���N:
+$J)
���!
2.4�5O4
7Q4
%0,
*'8E
&U8E
>H
MTQFGE<�¡�
p3+��xiq<�
t°�
d�¤v$¬¯v�! ��"MTQFGE<�¡=¬¯29<|+8*C#�
! �-7"11��e8,>0~�<�¤/¦®n;�d3707+C#�
! 2B;"S&RFGE<��$�¤$¬¯2A�37+C#�
1,+65~�;:,j�4C.%�
計算工学専攻 小林研 SA.CS� Software Analytics Laboratory
コード・実行時のログ・開発者の行動などを解析し 開発に役立つ情報を抽出・活用することで
ソフトウェア開発で楽をするための研究を行っています
キーワード: ソフトウェア工学,開発支援ツール,デバッグ,プログラム解析
実行ログの解析バグ
自動検出 実行状況を把握 !振舞いの理解支援・傾向分析
開発行動履歴の解析
Eclipse!
変更を予測し推薦
!開発者の「経
験」の抽出・活用
ソースコード解析
コードチェッカー !
再利用可能コード片 !!
!詳細な依存解析
大量のソースコードからマイニング
Our Web URL
説明会日程は Webをチェック
権藤研:ソフトウェア開発環境 ---ソフトウェア作りを楽にするソフトウェア---
プログラムが大きすぎて 全体が把握できない.
ここを変更したら,影響は どこまで及ぶだろう?
悩める プログラマ
ソフトウェア工学,ソフトウェア開発ツール プログラム理解,ソフトウェア保守,プログラム可視化 ソフトウェア開発における人的要素,プログラミング教育
研究テーマ �¬nC�«�¦¡�
佐伯研:ソフトウェア工学 Saeki Lab.: Software Engineering
“良い”ソフトウェアを“楽に”作ろう! ~高品質なソフトウェアを短期間で開発~
ソフトウェア変更の分析/支援
• 大事な要求の欠落 (漏れ) • 曖昧な記述
• 仕様書内の矛盾
知識資源を用いて発見
class%C%{%%%void%m1()%{%%%%%if%(…)%%%%%do_feature();%%%}%}�
LOCK �Feature Location: ソフトウェア機能の実装箇所 を特定し, 修正を簡単に
要求工学: どう良い要求仕様を作る?
コード差分の分析: バージョン間で行われたコード 変更の差分を読みやすく加工
要求獲得 の様子
視覚化技術を用いた 要求獲得・管理支援
リファクタリング支援: プログラムを自動的に キレイにしよう!
視覚化
Concrete problem / Initial context
Discretization (hex)
Abstract representation
Abstract solution
Concrete solution
Step 1
Step 2
Step 3
Step 4
Robot SoftwareNetwork
Robo
ts
Sensors Motors
Local subsystemMotor
sSensors
Local subsystem
Motors
Sensors
Local subsystem
ZigbeeTime Sync.
Network Mon.
RoutingMulticast ControlSLAM
"Controller
Group Applications
Collision-free protocol
Distributed motion planning
Coordination building blocksGeometric
Algorithms
Vision Real-time
Positioning
Target Applications - distributed mobile robot networks - sensor networks
Distributed Algorithms - tolerating dynamic and malicious faults - higher scalability, dynamic topologiesProgramming Framework - fault-tolerant distributed software - protocol composition
coordination / cooperation / consistency / consensusCloudIoTSmartGrid Robot swarms
Distributed SystemsDependable Distributed Systems Lab. Défago研デ フ ァ ゴ高信頼分散システム
西崎研究室
X プログラミング言語の理論と応用X プログラミング言語の理論
X λ計算などの計算モデルや型理論。プログラミング言語の諸性質を数学的に解明。
X プログラムの検証と応用X 数理論理学に基づくモデル検査という技術をさまざまな方面に応用。
X 研究の方向X 理論→数学的にしっかりと考えていく。
X 応用→おもしろい応用を考えていく。
YX[^_�! [^_�5*%9=
! /�.���<3;�)1-����ZC��hR�ik���?FT�OK%'+6� ��2:!�%9=�[^�B>
! ��[^+�4 ! ?FTLU
! E@/�.����IC��?FT(bG])LU
! ?FTLU�����;#:(6
! OKNf�OKag�OK%'+6�
! Nf`A�dM��QJDNf�=&=
! @��'"�:= 7,;�IC��Nf�ag
! 8�$�j\�Sc��OKag
! �2:!�%9=
! ?VHP]We����0=
/�.����OS(5.;���) �
)1-�����2:!�%9=�
GPU
Copula
��X��Y!%�!
���@WGW=UHNWC8�45 +�3�(-&!
#��*-&BIE:;973.�!
��?LNSW?OU 1"�7�� JPAK,�
• 3.69R>QAM7/�!• +���JT<PLU<!• )DNWFU<!
-&73��V3�2�!• 1��!• '�0�!• $��!
渡部研究室Programming Systems Group
様々なプログラミング・パラダイム(プログラミングに関する考え方)例:OOP,関数型,自己反映,アクター,AOP,COP,FRP
基礎諸性質を明らかにする
応用新しい応用領域の
開拓
表現使いやすい言語の設計と実装
研究テーマ・自己反映(リフレクション)にもとづく安全で適応的な分散システム・関数リアクティブ言語による組み込み系ソフトウェアの高度化・形式手法によるヒューマンエラーに対する耐性解析・プログラムの振る舞い分析にもとづくIoTデバイスへの攻撃可能性解析・プログラムの実行解析によるソフトウェアの理解支援
www.psg.c.titech.ac.jp