社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

サマータイム制度によるソフトウェア開発への影響調査
林純一†

肥後芳樹†

真佑†

柗本

楠本真二†

† 大阪大学大学院情報科学研究科〒 565-0871 大阪府吹田市山田丘 1-5
E-mail: †{j-hayasi,higo,shinsuke,kusumoto}@ist.osaka-u.ac.jp
あらまし

一部の国や地域では，夏季を中心に標準時刻を早めるサマータイム制度が実施されている．そのため，ソフトウェアにおいて日時を扱う際にサマータイム制度を考慮する必要がある．ただし，例えばサマータイム制度を導入していない地域向けのソフトウェアでは考慮していない場合もある．そのようなソフトウェアにおいても，利用者からの要望などによってサマータイム制度に対応するようにソースコードが変更される場合も考えられる．また，サマータイム制度による影響の調査は，社会学的な視点では行われているが，ソフトウェア工学的な視点では行われていない．そこで本研究では，オープンソースソフトウェアの開発履歴をもとに，サマータイム制度に関するソースコードの変更が行われた時期やその変更を行った開発者の居住地などを調査し，さらにそれらの変更をいくつかのパターンに分類した．
キーワード サマータイム制度，ソースコード変更，地理的解析

1. ま え が き

コードの変更には何らかのパターンが存在すると考える．
ソースコードの変更に関する研究は多数行われている [8]〜一部の国や地域では，夏季を中心に標準時刻を早めるサマー[10]．著者らは，ソースコードの変更履歴を学習して，修正漏タイム制度が実施されている．サマータイム制度は主に日中のれが発生しているコード片を自動で検出するツールを開発し経済活動を促進する目的で行われており，社会に対して様々なた [9]．Meng らは，ソースコードの変更を学習して，自動的に影響を与えていることが報告されている [1]〜[4]．

最適な箇所を変更するツールを開発した [8]．Fluri らは，ソー日本でもサマータイム制度を導入するか否かの議論が 2018年に行われた．日本は 2020 年の東京オリンピックを控えておスコードの変更を抽出するための，木構造の差分を求めるアルゴリズムを提案している [10]．

り，競技が日中の暑い時間帯に実施されるのを避けるために，

本研究では，サマータイム制度のソフトウェア開発におけるサマータイム制度の導入が検討された [5]．これに対して情報法影響を調査するために，オープンソースソフトウェアの開発履制研究所が，日本国内で利用されている電子機器はサマータイ歴をもとに，サマータイム制度に関連するソースコードの変更ム制度に対応していないものが多く，それらをサマータイム制が行われた時期や，その変更を行った開発者の居住地などを調度の導入までに更新しなければならないが，オリンピック開催査した．また，サマータイム制度に関連するソースコードの変までの約 2 年間では対応が間に合わないと反対した [6]．最終

更についていくつかのパターンを示した．

的に日本は 2020 年までにサマータイム制度を導入することを本研究の主な貢献は以下の通りである．

断念した [7]．この議論は，ソフトウェアにおけるサマータイム•制度への対応が難しいことを示唆するものであり，サマータイム制度がソフトウェア開発に与える影響を調査する必要性が存在すると考える．しかしながら，ソフトウェア工学の視点からサマータイム制度の影響を調査した研究は確認できなかった．
ソフトウェアにおいて日時を扱う際は，一般にサマータイム制度を考慮しなければならない．一般的なプログラミング言語
では，日時の情報を複数の方法で取り扱えるため，開発者が実装する取扱方法の特徴を理解した上で実装しなければ，欠陥が過去に作成されたソフトウェアほど，サマータイム制度に関する修正が行われていることを明らかにした．

•

プログラミング言語に関わらず，日時の取り扱いにおいてサマータイム制度を考慮する必要があることを明らかにした．

•Java で書かれたソフトウェアのサマータイム制度に関する修正について，ソースコードの典型的な変更のパターンを示した．

2. サマータイム制度発生する可能性があると考える．このことから，サマータイムサマータイム制度は，1 年のうち日照時間の長い春から秋に制度に関連する欠陥を修正するために，ソースコードの変更がかけて，標準時刻を 1 時間早める制度である．この制度は，午行われているのではないかと考える．また，そのようなソース—1—

後の日照時間を長くすることによって経済活動を促進する目的と “daylight savings time” の表記揺れを同時に検索するため

で，2018 年現在約 4 割の国で実施されている [11]．例えばアに採用した．“summer time” はイギリス英語であり，こちらのメリカ合衆国では，一部の地域を除いて，3 月第 2 日曜に標準表現を使っている開発者が行った修正も収集できるようにする

時刻を 1 時間早め，11 月第 1 日曜に元に戻すことになっていために採用した．

る [12]．

サマータイム修正が行われたリポジトリ数の推移を調査す

2. 1 社会への影響るために，サマータイム修正を含むリポジトリの作成日時をサマータイム制度は社会に対して以下のような影響を与えてGitHub が提供している REST API を利用して収集した．まいる．

た，GitHub で公開されているすべてのリポジトリとの傾向を•

経済の活性化 [1]比較するために，GH Archive（注 1）を利用して，各年に作成され•消費電力のピーク需要の減少 [2]たリポジトリの数を集計した．

•

交通事故の増加 [3]3. 2 RQ2 の調査方法•

急性心筋梗塞のリスクの増加 [4]RQ1 で収集したサマータイム修正を含むリポジトリについこのように，サマータイム制度が社会に与える影響についての研究は，社会学的な視点から多数行われている．

2. 2 ソフトウェア開発への影響て，次の項目を調査した．

•

最も使用されているプログラミング言語

•

ドメイン

一般に，プログラミング言語において日時を扱う方法は複数存

最も使用されているプログラミング言語は，GitHub が提供し在する．例えば Java の標準ライブラリには，タイムゾーンを考ている REST API を利用して収集した．1 つのリポジトリに慮して日時を扱うことができる java.time.ZonedDateTime クラ

おいて複数の言語が用いられている場合は，そのうち最も使用スと，タイムゾーンの情報を扱わない java.time.LocalDateTime

されている言語を，そのリポジトリにおける最も使用されていクラスがある．ソフトウェアの開発者はこれらのクラスの違いる言語とする．ドメインは Borges らが文献 [13] で定義した以を認識した上で所望の処理を実装する必要があり，このような下の 6 つとし，筆者らが各リポジトリの説明文や README違いは欠陥が発生する要因の一つになっていると考えられる．
このように，サマータイム制度はソフトウェア開発に対してファイルを参照して分類した．

Application software エンドユーザに機能を提供するシス

何らかの影響を及ぼしていると著者らは考える．しかし，ソフテム

トウェア工学の視点からサマータイム制度の影響を調査した文System software 他のシステムへのサービスやインフラを献は，著者らが確認した限り存在しなかった．そこで本研究で提供するシステムは，ソフトウェア開発へのサマータイム制度の影響を，オープWeb libraries and frameworks Web に関連するライブンソースソフトウェアの開発履歴をもとに調査する．

ラリやフレームワーク

本論文では，サマータイム制度に関連するソースコードの修正を「サマータイム修正」と呼ぶことにする．

Non-web libraries and frameworks Web に関連しないライブラリやフレームワーク

2. 3 Research Questions

Software tools ソフトウェア開発における種々の作業を支

サマータイム制度のソフトウェア開発に対する影響の調査を援するシステム

行うにあたり，以下の 5 つの Research Question を設定した．

Documentation ドキュメントやチュートリアル，ソース

RQ1. サマータイム修正はどの程度行われているか．

コード例などのリポジトリ

RQ2. サマータイム修正されたプロジェクトにはどんな特徴

なお，Borges らの調査によってドメインが既に分類されているがあるか．

リポジトリについては，そのドメインをリポジトリのドメインRQ3. サマータイム修正はいつ行われ，その修正がソフトウェとした．

アに適用されるまでに要した時間はどれくらいか．

3. 3 RQ3 の調査方法

RQ4. サマータイム修正を行った開発者の在住地はどこか．

サマータイム修正が行われた日時を調査するために，RQ1 でRQ5. サマータイム修正においてどのようなソースコードの収集した各プルリクエストが作成された日時とマージされた日変更が行われているか．

時を，GitHub の REST API で収集した．また，サマータイム

3. 調 査 方 法

修正が行われてから実際のソフトウェアに適用されるまでに要した日数を調査するために，収集した日時から，各プルリクエ

3. 1 RQ1 の調査方法

ストが作成されてからマージされるまでに掛かった時間を計算

オープンソースソフトウェアに対して行われたサマータイム

した．

修正を収集するために，GitHub のキーワード検索機能を用い

3. 4 RQ4 の調査方法た．“daylight saving” と “summer time” のキーワードで検索

RQ1 で収集した各プルリクエストにおいてコミットを行っし，既にマージされているプルリクエストを収集した．“day-た開発者について，各開発者が GitHub 上で公開しているメー

light saving” はアメリカ英語であり，“daylight saving time”（注 1）：https://www.gharchive.org/—2—サマータイム修正が行われたリポジトリの割合
The ratio of DST-repositories

4%0.012%
DST-related

0.010%

37%

28%

13%

10% 8%

33%

7%

19%

0.008%
Top 2,500 starred

0.006%

11%

26%

4%

0.004%
0%0.002%
0.000%
2011

2012

2013

2014

2015

2016

2017

2018

20%

40%

60%

80%

100%

Application software

Non-web libraries and frameworks

Web libraries and frameworks

Documentation

Software tools

System software

図 2 サマータイム修正が行われたリポジトリのドメイン

図 1 サマータイム修正が行われたリポジトリの作成時期

ルアドレスのトップレベルドメインをもとに，開発者の居住地を判別した．トップレベルドメインは必ずしも特定の国や地域を示すわけではないが，調査の正確性と容易性の観点からこの方法で調査を行った．したがって，公開されているメールアドレスのトップレベルドメインが国別コードトップレベルドメインのものではない開発者は，本 RQ の調査対象としていない．

3. 5 RQ5 の調査方法
RQ1 で収集したプルリクエストのうち，最も使用されているサマータイム関連のプルリクエスト数
The number of DST-related PRs

500

400

CreatedMerged

300

200

10002011

言語が Java であるリポジトリに対するプルリクエストについ

2012

2013

2014

2015

2016

2017

2018

(a) 年ごとの分布て，そのプルリクエストで行われたソースコードの変更を筆者らが目視で確認し，変更のパターンを分類した．

4. 調 査 結 果
4. 1 RQ1 の調査結果
図 1 に，2011 年から 2018 年までに作成されたリポジトリのうち，サマータイム修正が行われた割合の年毎の推移を示す．

2011 年に作成されたリポジトリの割合が最も多く，以後減少傾向にあることが分かる．また，その割合も，最も多い 2011 年で 0.010%であり，全体的にサマータイム修正が行われるリポサマータイム関連のプルリクエスト数
The number of DST-related PRs

200
CreatedMerged
150

100

500
Jan. Feb. Mar. Apr. May. Jun.

ジトリが少ないことが分かる．

Jul. Aug. Sep. Oct. Nov. Dec.

(b) 月ごとの分布

4. 2 RQ2 の調査結果
表 1 の左 2 列に，サマータイム修正が行われた各リポジトリ

図3

サマータイム修正時期の分布において最も使われている言語を集計したものを示す．GitHub
全体の傾向と比較するために，表 1 の右 2 列には GitHut プロ

ジェクトの調査結果 [14] を記載している．左側にある言語はHTML を除きすべて右側にもあるため，サマータイム修正が行
表 1 リポジトリで最も使われている言語（上位 10 言語）
調査対象リポジトリ
言語

割合の数値を見ても，ほとんどの言語が同程度の割合であった．

全リポジトリ [14]割合（%） 言語

われるリポジトリの言語には偏りがないことが分かる．また，

割合（%）

図 2 の上の棒グラフに，サマータイム修正が行われたリポジ

Python20 JavaScript

21

トリのドメインを筆者らが分類した結果を示す．なお，図 2 のJavaScript

16 Python

15Java10 Java

11下の棒グラフは，Borges らが分類した GitHub のスター数上

Ruby

6 PHP

8C++

6 C++

8載したものである．スター数上位 2,500 リポジトリのドメイン

PHP

6 C#

6

分布と比べ，アプリケーションや Web ライブラリの割合が多C

5 Shell

4くなっている．

HTML4 Go

4C#

4 Ruby4

サマータイム修正のプルリクエストが作成された時期とマーGo

2 C

4

ジされた時期の分布を図 3 に示す．図 3(a) は年ごとの分布を，位 2,500 リポジトリのドメインの分布 [13] を，比較のために記

4. 3 RQ3 の調査結果—3—0

プルリクエスト数
200
300

100400500～1日
1日～1週間
1～2週間
2～3週間
所要時間

3～4週間
1～3ヶ月
4～6ヶ月
7～9ヶ月
10～12ヶ月
2年～80

図 6 新たにタイムゾーンを取り扱う処理を追加する変更の例

60（apache/incubator-pinot リポジトリにおける変更（注 2））

40
20

EU

Czech

BrazilAustralia

NorwayCocos Islands

Italy

Denmark

SwedenBelgium

Montenegro

RussiaFinland

CanadaColombia

Netherlands

Switzerland

UK

France0Germany

開発者数
The numberof developers

図 4 サマータイム修正が行われてからマージされるまでの所要時間― public static DateTimeFormatter getDateTimeFormatterForDataset(TimeSpectimeSpec) {+ public static DateTimeFormatter getDateTimeFormatterForDataset(TimeSpectimeSpec, DateTimeZone zone) {String pattern = null;
TimeUnit unit = timeSpec.getDataGranularity().getUnit();switch (unit) {case DAYS:
pattern = DAY_FORMAT;
break;
case MINUTES:
pattern = MINUTE_FORMAT;break;case HOURS:
default:
pattern = HOUR_FORMAT;break;}― DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(pattern);+ DateTimeFormatter dateTimeFormatter =DateTimeFormat.forPattern(pattern).withZone(zone);return dateTimeFormatter;}■ サマータイム制度を導入している地域■ サマータイム制度を過去に導入したことがある地域■ サマータイム制度を導入したことがない地域

private Date getEndDate(Product prod, Date startTime) {int interval = maxDevLifeDays;
String prodExp = prod.getAttributeValue("expires_after");if (prodExp != null && Integer.parseInt(prodExp) < maxDevLifeDays) {interval = Integer.parseInt(prodExp);}― return 1000 * 60 * 60 * 24 * interval;+ Calendar cal = Calendar.getInstance();+ cal.setTime(startTime);+ cal.add(Calendar.DAY_OF_YEAR, interval);++ return cal.getTime();}図 7 日時の計算に java.util.Calendar クラスを使用する変更の例

図 5 サマータイム修正に関わった開発者の居住地（上位 20 ヶ国）

図 3(b) は月ごとの分布を示している．これらの図から，サマータイム修正のプルリクエストについて以下の傾向が見られた．

•プルリクエスト作成数は年々増加している．

•夏季のプルリクエスト作成数が他の季節に比べて多い．

図 4 に，サマータイム修正のプルリクエストが作成されてからマージされるまでに掛かった時間の分布を示す．この図から，ほとんどのプルリクエストは，作成されてから 1 ヶ月以内にマージされていることがわかる．

4. 4 RQ4 の調査結果
図 5 に，サマータイム修正に関わった開発者のうち国別コードトップレベルドメインのメールアドレスを公開している開発者について，そのトップレベルドメインから居住地を判別し，集計した結果を示す．なお，サマータイム修正に関わった開発者の総数は 1,210 人で，そのうち国別コードトップレベルドメインのメールアドレスを公開していた開発者は 274 人（約 22%）であった．
図 5 において，背景が緑色である地域は，その地域でサマータイム制度が 2018 年末の時点で実施されていることを示す．
背景が黄色である地域は，その地域で過去にサマータイム制度を導入していた時期があるが，現在は実施していないことを示す．背景が赤色である地域は，これまでにサマータイム制度の実施経験がないことを示す．
この調査の結果から，ほとんどのサマータイム修正はサマー（candlepin/candlepin リポジトリにおける変更（注 3））

4. 5 RQ5 の調査結果
筆者らがソースコードの変更を調査した結果，以下のような変更が行われていることが分かった．

•新たにタイムゾーンを取り扱う処理を追加•

日時の計算に java.util.Calendar クラスを使用•

タイムゾーンを取り扱えるクラスで日時の情報を保持

図 6–8 に，これらの変更の例を示す．これらの図において，背景が緑色の行はその変更で追加された行を示し，背景が赤色の行はその変更で削除された行を示している．

1 つ目の変更は，明示的にタイムゾーンの取り扱いをしていなかったために，実行環境によって時刻が変わってしまう欠陥に対処するものである．図 6 の変更では，メソッドにタイムゾーンの情報を示す org.joda.time.DateTimeZone クラスの引数を追加し，その引数を org.joda.time.format.DateTimeFormatter クラスのオブジェクトにタイムゾーンの情報を渡すことようにしている．この変更により，org.joda.time.format.DateTimeFormatter
クラスのオブジェクトが適切なタイムゾーンで日時を扱えるようになっている．

2 つ目の変更は，日時の計算において定数値を用いていたのを，Java の標準ライブラリを利用して計算させるようにしたものである．サマータイム制度を実施している地域において 1 日の長さは，通常時刻とサマータイムの切替時に変わる

タイム制度が実施されている地域に住む開発者によって行われていることが分かった．

（注 2）：https://github.com/apache/incubator-pinot/pull/992/files（注 3）：https://github.com/candlepin/candlepin/pull/1082/files—4—

― Date date = null;+ ZonedDateTime date = null;…… 中略 ……
try {― date = new SimpleDateFormat(DATE_PATTERN_WITH_TZ).parse(calendarValue);― } catch (ParseException fpe2) {― date = new SimpleDateFormat(DATE_PATTERN).parse(calendarValue);+ date = ZonedDateTime.parse(zonedValue, formatterTz);+ } catch (DateTimeParseException tzException) {+ try {
+date = ZonedDateTime.parse(zonedValue, formatterTzMs);+ } catch (DateTimeParseException regularFormatException) {+// A ZonedDateTime object cannot be creating by parsing directly
a pattern without zone+
LocalDateTime localDateTime = LocalDateTime.parse(zonedValue, formatter);+date = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());+ }}…… 中略 ……
if (date != null) {― calendar = Calendar.getInstance();― calendar.setTime(date);+ zonedDateTime = date;}

図 8 タイムゾーンを取り扱えるクラスで日時の情報を保持する変更の例（eclipse/smarthome リポジトリにおける変更（注 4））

ため一定ではない．この違いを考慮するために，既にサマータイム制度を考慮する実装になっている Java の標準ライブラリを利用するように変更している．図 7 の変更では，1 日を常に 1000 × 60 × 60 × 24 ミリ秒として計算していたところを，java.util.Calendar クラスを用いて計算するようにしている．この変更により，通常時刻とサマータイムの切り替え時に 1 日の長さが変わることに対処できるようになっている．

3 つ目の変更は，日時の管理を，タイムゾーンの情報を取り扱えないクラスを用いて行っていたところを，タイムゾーンの情報を取り扱えるクラスを用いるようにしたものである．図 8 の変更では，タイムゾーンの情報を保持しない（注 5）java.util.Dateクラスで管理していたところを，タイムゾーンの情報を保持する java.time.ZonedDateTime クラスで管理するように変更している．この変更により，サマータイム制度に関する情報を含むタイムゾーンの情報を扱えるようになっている．

5. 考

察

5. 1 RQ1 の考察
4. 1 節で述べた結果から，最近作られたリポジトリよりも昔に作られたリポジトリのほうがサマータイム修正が行われていることが分かった．これは，時間の経過によってリポジトリの利用者が増加し，利用者からの要望やバグ報告が増加するためであると考える．

5. 2 RQ2 の考察
4. 2 節で述べた結果から，割合の数値に若干の差異はあるものの，サマータイム修正が行われたリポジトリと GitHub 上の
全リポジトリで用いられている言語の傾向はほとんど同じであった．このことから，どの言語においても日時を取り扱う際にサマータイム制度を考慮して実装を行う必要があると考えられる．

5. 3 RQ3 の考察
4. 3 節で述べた結果から，サマータイム修正の件数は年々増加し，多くの地域でサマータイム制度が実施される 3 月から10 月までの件数が多いことが分かった．これは，日時を扱うリポジトリの総数が時間の経過とともに増加し，それに伴ってサマータイム修正の件数も増加しているのではないかと考える．
また，サマータイム制度の実施期間中に修正の件数が多くなるのは，その期間にサマータイム制度に起因する不具合が現れ，利用者から報告されるためであると考えられる．
さらに，開発者がサマータイム修正を行ってから，その修正が実際のソフトウェアに適用されるまでに要した日数は，ほとんどのプルリクエストが 3 ヶ月以内であった．これらの結果から，サマータイムが実施されている期間中に，開発者によってサマータイム修正が行われ，実際のソフトウェアに適用されることが多いといえる．

5. 4 RQ4 の考察
4. 4 節で述べた結果から，サマータイム制度が実施されていない地域の開発者がサマータイム修正に関わっていない傾向があることが分かった．これは，サマータイム制度が実施されていない地域ではサマータイム制度を考慮する必要性が小さく，そのような地域に住む開発者はあまりサマータイム修正に関わっていないためであると考える．

5. 5 RQ5 の考察
4. 5 節で述べた結果から，ソフトウェアのリリース当初におけるサマータイム制度への対応が不十分であり，後に修正が行われているプロジェクトが存在することが分かった．これは，1 つの言語において日時を取り扱う方法が複数存在し，サマータイム制度を考慮しない方法で実装していたとしても，実装した時期によっては欠陥が現れず，サマータイム制度の実施機関中になって初めて欠陥が発見され，開発者による修正が行われるためであると考える．

6. 妥当性の脅威
RQ1 の調査において，サマータイム修正を収集するために，GitHub のキーワード検索機能を利用した．この方法では，キーワードがプルリクエストで使われていないがサマータイム修正が行われているプルリクエストが収集できていないことや，検索結果には現れるがサマータイム制度に関する修正が含まれていないプルリクエストがあることが考えられる．これらを考慮して精確に調査した場合，異なる傾向が得られる可能性がある．

RQ2 の調査において，リポジトリのドメインを，リポジトリの説明文や README ファイルを目視確認することで判別した．そのため，適切でないドメインに分類されているリポジトリが存在する可能性がある．

RQ3 の調査において，プルリクエスト作成数について，夏季の方が他の季節よりも多いと結論づけたが，統計的に有意であるかどうかの検定までは行っていない．この調査は，単にサ（注 4）：https://github.com/eclipse/smarthome/pull/4259/files（注 5）：より正確には，タイムゾーンのオフセットを返すメソッドは存在するが，マータイム修正の件数の推移を調べたものであるため，このような評価で十分であると考える．

そのメソッドは非推奨（deprecated）とされている [15]．

—5—RQ4 の調査において，調査の対象とする開発者を，公開しているメールアドレスが国別コードトップレベルドメインのものである者に限定した．4. 4 節で述べた通り，そのような開発者は全体の 1/4 に満たなかったため，開発者全体の傾向を明らかにできたとはいえない．特に，サマータイム制度が実施されているアメリカ合衆国に住む開発者は多いと考えられるが，アメリカ合衆国の国別コードトップレベルドメインである .us のメールアドレスを使用している開発者が少ないため，調査対象に偏りが生じている．今回の調査で対象としなかった開発者についても在住地を調査することにより，結果が変わる可能性がある．

7. あ と が き
本研究では，サマータイム制度のソフトウェア開発に対するMay 2013．
[10] B. Fluri, M. Wuersch, M. PInzger, and H. Gall, “Changedistilling:tree diﬀerencing for fine-grained source codechange extraction,” IEEE Transactions on Software Engineering, vol.33, no.11, pp.725–743, Nov. 2007.
[11] S. Thorsen, “Daylight Saving Time – DST – Summer Time”.
https://www.timeanddate.com/time/dst/[12] M. Fitzpatrick, Daylight Saving Time, Connecticut General
Assembly, Dec. 2017.
[13] H. Borges, A. Hora, and M.T. Valente, “Understanding thefactors that impact the popularity of github repositories,”
2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp.334–344, Oct. 2016.
[14] C. Zapponi, “Github Language Stats,” Oct. 2018. https://madnight.github.io/githut/#/pushes/2018/3[15] Oracle, “Date (Java SE 11 & JDK 11),” Sept. 2018. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html

影響の調査として，サマータイム制度に関連した修正が行われたリポジトリの特徴，修正の時期，修正を行った開発者の居住地などを調査した．調査の結果，サマータイム制度が関連する欠陥などに対応するための修正が年々増加しており，特にサマータイム制度の実施期間中に修正が行われることが分かった．また，Java で開発されているプロジェクトの修正内容を精査した
ところ，サマータイム制度に関連して行われた修正にはいくつかのパターンが見受けられた．
今後の課題としては，サマータイム制度に関連するバグについての調査や，ソースコードの変更に関する調査を Java 以外の言語に対して行うことなどが挙げられる．
謝辞

本研究は，日本学術振興会科学研究費補助金基盤研究（B）（課題番号：17H01725）の助成を得て行われた．
文

献[1] M.B. Aries and G.R. Newsham, “Eﬀect of daylight saving
time on lighting energy use: A literature review,” Energy
Policy, vol.36, no.6, pp.1858–1866, 2008.
[2] P. Hancevic and D. Margulis, “Daylight saving time and energy consumption: The case of Argentina,” MPRA Paper80481, University Library of Munich, Germany, 2016.
[3] T. Monk, “Traﬃc accident increases as a possible indicantof desynchronosis,” Chronobiologia, vol.7, no.4, pp.527–529,
1980.
[4] M.R. Jiddou, M. Pica, J. Boura, L. Qu, and B.A. Franklin,“Incidence of myocardial infarction with shifts to and fromdaylight savings time,” The American Journal of Cardiology, vol.111, no.5, pp.631–635, 2013.
[5] “【 東 京 五 輪 】酷 暑 対 策 で サ マ ー タ イ ム 導 入 へ 秋 の 臨 時
国会で議員立法 ３１、３２年限定,” Aug. 2018． 産経ニ
ュース．https://www.sankei.com/politics/news/180806/
plt1808060002-n1.html[6] 清嶋直樹，“「サマータイム、間に合わない」 IT 識者ら導入反対,” Sept. 2018． 日本経済新聞．https://www.nikkei.com/article/DGXMZO34948480U8A900C1000000/[7] “五 輪 サ マ ー タ イ ム 断 念 表 明 自 民 、法 案 提 出 困 難,” Nov.
2018． 日 本 経 済 新 聞 ．https://www.nikkei.com/article/
DGXMZO38025970R21C18A1000000/[8] N. Meng, M. Kim, and K. McKinley, “Lase: Locating
and applying systematic edits by learning from examples,”2013 35th International Conference on Software Engineering, ICSE 2013 - Proceedings, pp.502–511, Oct. 2013.
[9] 肥後芳樹，楠本真二，“コード修正履歴情報を用いた修正漏れの自動検出,” 情報処理学会論文誌，vol.54，no.5，pp.1686–1696，—6—