ᵬᵪᵣᵵᵱᴾᴾ ᵣᵲᵲᵣᵰ

Volume 42005 年 12 月発行

ࠛࡦࡇ࡝ࠞ࡞࠰ࡈ࠻࠙ࠚࠕᎿቇߩ⎇ⓥߣታ〣‫̆ߦ଀ࠍࡦ࡯ࡠࠢ࠼࡯ࠦ̆ޓ‬‫ޓޓޓޓޓޓ‬ᄢ㒋ᄢቇ‫ޓ‬ᄢቇ㒮ᖱႎ⑼ቇ⎇ⓥ⑼‫ޓ‬ᢎ᝼‫ޓ‬੗਄స㇢‫ޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓޓ‬ߣߒߡࠢࡠ࡯ࡦࠍቯ⟵ߒߡ޿ࠆ‫ߎޕ‬㧝㧚ߪߓ߼ߦߎ ߢ‫ ޟ‬㘃 ૃ ‫ ޔߪ ޠ‬න ߦ ⓨ ⊕ ߿ ࠦ ࡔ‫ߦߢ߹੹ޓ‬૗ᐲ߆࠾ࡘ࡯ࠬ࡟࠲࡯ߩ⸥੐ߣߒߡࠦ࡯࠼ࠢࡦ࠻ߩ㒰෰‫⼂ࠆߥ⇣ޔ‬೎ሶߩๆ෼ߥࡠ࡯ࡦߩ⹤߇ขࠅ਄ߍࠄࠇߡ޿ࠆ‫੹ޕ‬࿁ߪ‫ࡑ࡯࠹ߩߎޔ‬ߤࠍᗧ๧ߔࠆ႐ว߇ᄙ޿߇‫ޔ‬᣿⏕◲ߦᚒ‫߇ޘ‬㑐ᔃࠍ␜ߔ߈ߞ߆ߌ‫↥ޔ‬ቇㅪ៤ߩ᭽ሶ‫੹ޔ‬ᓟߩẖߦ⴫⸥ߔࠆߎߣߪ㔍ߒߊ‫ޔ‬ታ㓙ߩ⊒ዷߦ㑐ߒߡ‫ޔ‬Ყセ⊛⥄↱ߥⷰὐߢㅀߴࠆ‫ޕ‬࠷࡯࡞ߩേ૞ߢⷙቯߔࠆߎߣߦߥ㧞㧚ࠦ࡯࠼ࠢࡠ࡯ࡦߣߪࠆ‫ޕ‬‫ޓ‬࿑  ߦ‫◲ߩࡦ࡯ࡠࠢޔ‬නߥ଀ࠍ␜ߔ‫ޕ‬ᄥሼߩ  ⴕ߆ࠄ‫ࡦ࡯ࡠࠢ࠼࡯ࠦޓ‬㧔એ㒠නߦࠢࡠ࡯ࡦߣ๭߱㧕ߦ㑐ߒߡ‫ޔ‬ ⴕߣ  ⴕ߆ࠄ  ⴕߩࠦ࡯࠼ㄭᐕ‫ޔ‬࿖ౝᄖߢ⎇ⓥᚑᨐ߇ႎ๔ߐࠇࠆࠃ߁ߦߥߞߡ߈ߡଥߢ޽ࠅᭂᄢࠢࡠ࡯ࡦߢ޽ࠆ‫ߩ⦡ޕ‬ઃ޿ߡ޿ࠆ⺆ߦߪᏅ߅ࠅ‫ߩߘޔ‬ታ↪ᕈ߽ᵈ⋡ߐࠇࠆࠃ߁ߦߥࠅߟߟ޽ࠆ‫ߒޕ‬⇣߇޽ࠆ߇‫⼂ޔ‬೎ሶߩ㆑޿ߢ޽ࠅߎࠇࠄߩ㆑޿ߪๆ෼ߒ߆ߒ‫ߪߣࡦ࡯ࡠࠢޔ‬૗߆‫ࠍޔ‬᣿⏕ߦቯ⟵ߒߡ޿ࠆ߽ߩߪߡ㘃ૃߒߚ߽ߩߣߒߡ޿ࠆ‫ޕ‬ዋߥ޿‫ޕ‬‫ࡦ࡯ࡠࠢߥ߁ࠃߩߎޓ‬ᬌ಴ࠍห৻ࡈࠔࠗ࡞ౝ߿ઁߩࡈࠔ‫࠼࡯ࠦࠬ࡯࠰ߪߣࡦ࡯ࡠࠢޟޓ‬ਛߦሽ࿷ߔࠆห৻‫ߚ߹ޔ‬ࠗ࡞ߣߩ㑆ߢⴕ߁ߣ‫ޔ‬ㅢᏱߩࡊࡠ࠳ࠢ࠻ߩಽᨆߣߪ৻㘑ߪ㘃ૃߒߚࠦ࡯࠼ߪ߅੕޿ࠢࡠ࡯ࡦ㑐ߩߎߣߢ޽ࠆ‫ࠆ޽ޔߪࠇߎޠޕ‬ቇ↢ᄌࠊߞߚ⚿ᨐ߇ᓧࠄࠇࠆ‫ޕ‬࿑  ߦ  ߟߩ 7 P K Z 1 5 ߩࠞ࡯߇ߣ޽ࠆේⓂߢ૶↪ߒߚቯ⟵ߢ޽ࠆ߇‫ޔ‬ห৻߿㘃ૃߩኻࡀ࡞࠰࡯ࠬࠦ࡯࠼ߦኻߒߡࠢࡠ࡯ࡦᬌ಴ࠍⴕߞߚ⚿ᨐߩ⽎߇ਇ᣿ߢቯ⟵ߦߥߞߡ޿ߥ޿࿑㧔ᢔᏓ࿑ߣ๭߱㧕ࠍ␜ߔ‫❑ޕ‬ゲߣᮮゲߪߘࠇߙࠇฦࡈࠔߚߪ㘃ૃߒߚࠦ࡯࠼ᜰዉ߇ᖡ޿㧕‫ޟޕ‬ห৻߹ࠍ᦭ߔࠆࠦ࡯࠼ߩߎߣࠍࠢࡠ࡯ࠗ࡞ࠍㅪធߒߚⴕߢ‫ޔ‬ฦὐߪ  ࠻࡯ࠢࡦએ਄ߩ㐳ߐࠍࡦߣ๭߱‫ࠅࠃޔ߇ࠆ޿ߡߞߥߦߒ߹߱޿ߛޠޕ‬෩ኒߦቯ߽ߟࠢࡠ࡯ࡦߢ޽ࠆ‫ߩߎޕ‬࿑ߪ‫ޔ‬ේℂ⊛ߦߪኻⷺ✢ߦᔅ⟵ߒࠃ߁ߣߔࠆߣ⧰ഭߔࠆ‫ޕ‬࿐ߺߩቯ⟵ߪ‫♽ޔ‬೉ߩ໧㗴ߕὐ߇ሽ࿷ߒ‫ޔ‬ኻⷺ✢ߦኻߒߡ✢ኻ⒓ߦߥࠆ߇‫ߢߎߎޔ‬1. static void foo() throws RESyntaxException {2. String a[] = new String [] { “123,400”, “abc”, “orange 100” };3. org.apache.regexp.RE pat = org.apache.regexp.RE(“[0-9,]+”);
4. int sum = 0;
5. for (int i = 0; i < a.length; ++i)6.
if (pat.match(a[i]))7.
sum += Sample.parseNumber(pat.getParen(0));
8. System.out.println(“sum = “ + sum);9. 䇭䇭System.out.println(“end”); }䇭䇭...
110. static void goo(String [] a) throws RESyntaxException {111. RE exp = new RE(“[0-9,]+”);
112. int sum = 0;113. for (int i = 0; i < a.length; ++i)114.
if (exp.match(a[i]))115.
sum += parseNumber(exp.getParen(0));
116. System.out.println(“sum = “ + sum);117. }

࿑㧝‫଀ߩࡦ࡯ࡠࠢޓ‬1ࠢࡠ࡯ࡦߣࠢࡠ࡯ࡦᬌ಴㧦 ޽ࠆ♽೉ਛߦሽ࿷ߔࠆ  ߟߩㇱಽ♽೉ǩ‫ޔ‬Ǫ߇ห৻߹ߚߪ㘃ૃߒߡ޿ࠆߣ߈‫ޔ‬% ǩ  Ǫ ߣᦠ߈‫ޔ‬ǩߪǪߩࠢࡠ࡯ࡦߢ޽ࠆ⸒߁‫ޕ‬ㅢᏱ‫ޔ‬% ߪ‫ޔ‬෻኿‫ޔ‬ផ⒖‫ޔ‬ኻ⒓ᓞ߇ᚑࠅ┙ߟห୯㑐ଥߣߔࠆ‫ޔߚ߹ޕ‬ǩߩห୯㘃ࠍǩߩࠢࡠ࡯ࡦࠢ࡜ࠬߣ⸒߁‫ޕ‬ છᗧߩǩ‫ޔ‬Ǫߦኻߒߡ %㧔ǩ  Ǫ ߥࠄ߫‫ޔ‬ǩߩછᗧߩㇱಽ♽೉ǩ ߦኻߒ‫ޔ‬% ǩ  ǪߣߥࠆǪߩㇱಽ♽೉Ǫ߇ሽ࿷ߔࠆ‫ޔߚ߹ޕ‬ǩ‫ޔ‬Ǫࠍߘࠇߙࠇ⌀ߦ฽߻છᗧߩ♽೉ǩ ‫ޔ‬Ǫ 㧔ߚߛߒǩҁǪ 㧕ߦኻߒߡ % ǩ  Ǫ ߆ߟ㩬 %㧔ǩǪߥࠄ߫‫ޔ‬㧔ǩ‫ޔ‬Ǫ㧕ࠍᭂᄢࠢࡠ࡯ࡦࡍࠕߣ๭߱‫ࠆ޽ޕ‬ㇱಽ♽೉ǩߦኻߒ‫ޔ‬೎ߩㇱಽ♽೉Ǫ߇ǩߣᭂᄢࠢࡠ࡯ࡦࡍࠕ㧔ǩ‫ޔ‬Ǫ㧕ࠍ᭴ᚑߔࠆߣ߈‫ޔ‬ǩ߽ߒߊߪǪࠍනߦ‫ߣޠࡦ࡯ࡠࠢޟ‬๭߱‫ޕ‬♽೉㧿߇ਈ߃ࠄࠇߚߣ߈‫ޔ‬㧿ਛߩᭂᄢࠢࡠ࡯ࡦࡍࠕࠍోߡ⊒⷗ߔࠆߎߣࠍ‫ࡦ࡯ࡠࠢޔ‬ᬌ಴ߣ⸒߁‫ޕ‬ㅢᏱ‫ࡦ࡯ࡠࠢޔ‬ᬌ಴࠷࡯࡞ߣ๭߫ࠇࠆ࠷࡯࡞ߪ‫ޔߒߛߚޕࠆ޿ߡߒߣ⊛⋡ࠍࠇߎޔ‬޽ࠆ৻ቯߩ㐳ߐએ਄ߩᭂᄢࠢࡠ࡯ࡦࡍࠕߩߺࠍ಴ജߔࠆࠃ߁ߦߔࠆߩ߇᥉ㅢߢ޽ࠆ‫ޕ‬⍴޿ࠢࡠ࡯ࡦߪ‫ޔ‬ᄙᢙ⊒⷗ߐࠇࠆߎߣ߇ᄙ޿߇‫ߩߘޔ‬ᗧ๧߿ሽ࿷ߦߪ‫⥝ޔ‬๧ߩߥ޿႐ว߇ᄙ޿߆ࠄߢ޽ࠆ‫ޕ‬エンピリカルソフトウェア工学の研究と実践ߪ‫ޔ‬ኻⷺ✢਄ߩὐ߿ฝ਄ඨಽߩὐߪ⋭⇛ߒߡ޿ࠆ‫ߩߎޕ‬ᆎ߆ࠄᢙㅳ㑆ߢࡊࡠ࠻࠲ࠗࡊࠪࠬ࠹ࡓ߇േ߈ᆎ߼‫࠺ޔ‬࿑ࠍ⷗ࠇ߫ಽ߆ࠆࠃ߁ߦ‫ޔ‬వ␲ࠍหߓߣߔࠆ (TGG$5& ߣࡃ࠶ࠣࠍ౗ߨߡ‫ߌ߆ߦࡓ࡜ࠣࡠࡊࠬ࡯࠰ߥࠈ޿ࠈ޿ޔ‬ᆎ

0GV$5& ߣߩ㑆ߦߪᄙᢙߩὐ߇޽ࠅ‫ޔ‬.KPWZ ߣߘࠇࠄߩ㑆߼ߚ‫ޕ‬ᣣ‫⼱␹ޔޘ‬ำ‫ޔ‬ᬮᧄഥᢎ᝼㧔⃻ᢎ᝼㧕ߣ౒ߦ‫ޔ‬಴ߦߪὐ߇ዋߥ޿‫ߩ࠻ࠢ࠳ࡠࡊޔߦ߁ࠃߩߎޕ‬㑆ߩ㑐ㅪ߿ജ⚿ᨐߩᬌ⸛ࠍⴕ޿‫ߩ࡞࡯࠷ߩߎޔ‬ಾࠇ๧ߩ⦟ߐࠍ⏕ାᱧผࠍ⍮ࠆߎߣ߇ߢ߈ࠆ‫ޕ‬ߒߚ‫߽ࠇ޽ޔߣࠆߥߣޔ߁ߘߌ޿ߣߞࠂߜޕ‬ಽᨆߒߚ޿‫ޔ‬‫ࡦ࡯ࡠࠢޔઁߩߎޓ‬ಽᨆߪ޿ࠈ޿ࠈߥ↪ㅜ߇޽ࠆ‫ࡈ࠰ޕ‬ߎࠇ߽߆ߌߡߺߚ޿‫ⷐߣޔ‬᳞߇ߤࠎߤࠎ⤘ࠄࠎߢ‫ࡠࡊޔ‬࠻࠙ࠚࠕߩ࠺ࡃ࠶ࠣ‫଻ޔ‬቞‫ޔ‬ಽᨆ㧔ጁᱧ‫ޔ‬ଐሽᕈ‫ޔ‬㘃ࠣ࡜ࡓߩ࠴ࡘ࡯࠾ࡦࠣࠍߔࠆߣ౒ߦ‫ޔ‬% 2 7 ߿ࡔࡕ࡝ߩჇૃᕈ╬㧕‫⪺ޔ‬૞ᮭ▤ℂ‫ޔ‬ഇ⓯ᬌ಴ߥߤߦ೑↪ߐࠇߡ޿ࠆ

ᒝߦ‫⾗ࠎ߇ࠎ߇ޔ‬㊄ࠍߟ߉ㄟࠎߛ‫ޔߡߒߘޕ‬ᢙࡨ᦬ᓟߩ

=?‫ޕ‬ ᐕೋ㗡ߏࠈߦߪ‫ޔ‬࿑  ߩࠃ߁ߥᢔᏓ࿑ࠍ಴ߖࠆࠃ߁ߦߥߞߚ‫ޕ‬㧟㧚⎇ⓥߩ߈ߞ߆ߌ

‫⚿ߩߎޓ‬ᨐߪ㕖Ᏹߦ㕙⊕޿‫⺰߭ߗޔ‬ᢥߦᦠߎ߁‫⸵․ޔ‬‫⸃ࡦ࡯ࡠࠢޓ‬ᨆߩ߈ߞ߆ߌߪ‫ޔ‬ᨱᄢᚻ࠰ࡈ࠻࠙ࠚࠕળ␠߽ᦠߎ߁ߣߥߞߚ‫⺰ޕ‬ᢥࠍᦠߊߦ޽ߚߞߡ‫ޔ‬ㆊ෰ߩห& ␠ߣߩ㔀⺣ߢ޽ࠆ‫ޕ‬૗චᐕ߽ࡔࡦ࠹ߒ⛯ߌߡ߈ߚᏂᄢ

᭽ߩ⎇ⓥࠍ⺞ߴߡߺࠆߣ‫ޔ‬ᶏᄖߢૃߚࠃ߁ߥേᯏߩ޿࠰ࡈ࠻ߩ▤ℂ߇ᚻߦ⽶߃ߥߊߥߞߚ‫ࠇߐ࡯ࡇࠦޔߦ․ޔ‬ࠈ޿ࠈߥ⎇ⓥ߇ⴕࠊࠇߡ޿ࠆߎߣ߇ಽ߆ߞߡ߈ߚ‫ߚޕ‬ߚࡕࠫࡘ࡯࡞߇ᢔ࿷ߒߡ߅ࠅ‫ߩߟ৻ޔ‬ᄌᦝ߇ߤߎߦᓇ㗀ߛ‫ޔߪࠄࠇߘޔ‬ᣇᑼ߇⇣ߥࠅ‫ޔ‬ല₸࡮♖ᐲߩࡃ࡜ࡦࠬ߇ࠍਈ߃ߡ޿ࠆ߆‫߆ߩ߽ߚࠇߐ࡯ࡇࠦ߇ߎߤޔ‬ಽ߆ࠄߕ࿎ߞᖡ޿߽ߩߢ޽ߞߚ‫ߣࠄࠇߘޕ‬ൎ⽶ߒߡ߽ൎߡࠆߣᕁࠊߡ޿ࠆ‫ ޔߪ⹤ߩߎޕߚߞߛߩ߽߁޿ߣޔ‬ᐕߦ‫߇⑳ޔ‬ࠇߚߩߢ‫ߩߎޔ‬ಽ㊁ߢߩ৻⇟ߩ⺰ᢥ⹹ߢ޽ࠆ +'''‫ޓ‬65'૬છߒߡ޿ߚᄹ⦟వ┵ᄢߢ⡞޿ߚߩߛ߇‫ࠍࠇߎޔ‬㒋ᄢߢ

6TCPUCEVKQPUQP5QHVYCTG'PIKPGGTKPI ߦᛩⓂߔࠆߎᒰᤨ‫ޔ‬ඳ჻  ᐕߩቇ↢ߛߞߚ␹⼱ᐕᵗำ㧔⃻࡮↥✚⎇㧕ߣߦߒߚ‫ ޕ‬ᐕ  ᦬ߦೋߦ⹤ߒߚߣߎࠈ㕙⊕ߘ߁ߛߣ޿߁ߎߣߢ߿ߞߡߺࠆߎߣᱜⷐ᳞‫ୃߦ᦬  ߦࠄߐޔ‬ᱜⷐ᳞߇᧪ߡ‫⚿ޔ‬ዪ  ᐕ ߦߥߞߚ‫ޕ‬หᤨߦ‫ &ޔ‬0 # Ⴎၮ㈩೉ߩ໧㗴ࠍᢥሼ೉ߩᾖว᦬ߦណ㍳ߣߥߞߡ‫ޔ‬ታ㓙ߦឝタߐࠇߚߩߪ  ᐕ  ᦬໧㗴ߣߒߡ⎇ⓥߒߡ޿ࠆᖱႎ⑼ቇ⑼ߩ᧻↰ഥᢎ᝼㧔⃻ᢎภߢ޽ߞߚ =?‫ ޔߪ⸵․ޕ‬ᐕ  ᦬ߦ⑼ቇᛛⴚᝄ⥝੐᝼㧕ߦ‫ࠬࠢ࠶ࠖࡈࠨޔߡߒߣࡓ࠭࡝ࠧ࡞ࠕߥ߁ߘ߃૶ޔ‬ᬺ࿅ ,56 ࠍㅢߓߡ಴㗿ᚻ⛯߈ࠍⴕߞߚ =?‫ޕ‬ᧁߣߘߩᢎ⑼ᦠࠍᢎ߃ߡ߽ࠄߞߚ =?‫ޕ‬ࠍᛩⓂߒ‫ޔ‬⠉ᐕ  ᦬ߦୃ

㧠㧚%%(KPFGT ߩ⊒ዷ‫ߩߘޓ‬ᓟ‫⼱␹ޔ‬ำߪ‫ޔ‬ሼฏ⸃ᨆߣᏅ⇣ๆ෼ⷙೣࠍ⚵วߖ‫ޔ‬ࠨࡈࠖ࠶ࠢࠬᧁߢࠢࡠ࡯ࡦᬌ಴ࠍല₸ࠃߊⴕ߁ᚻᴺࠍ⠨‫ޓ‬ᒰೋ‫ & ߪ࡞࡯࠷ߩߎޔ‬W R 5 ߣ⒓ߒߡ޿ߚ߇‫ޔ‬ㅜਛ߆ࠄ᩺ߒ‫ޔ‬㛳⇣⊛ߥࠬࡇ࡯࠼ߢታⵝࠍᆎ߼ߚ‫ߡߒߘޕ‬ታⵝ㐿

%%(KPFGT ߣᡷฬߒߚ =?‫ᦨޕ‬ೋߪ‫ޔ‬% ࡊࡠࠣ࡜ࡓߦߒ߆࿑㧞‫ޓ‬㧟ߟߩ 70+:‫ޓ‬15 ߩࠞ࡯ࡀ࡞࠰࡯ࠬࠦ࡯࠼ߩࠦ࡯࠼ࠢࡠ࡯ࡦߩᢔᏓ࿑2

エンピリカルソフトウェア工学の研究と実践ኻᔕߒߥ߆ߞߚ‫ޔߒ߆ߒޕ‬ሼฏ⸃ᨆㇱࠍ⸒⺆઀᭽ߦวࠊߩ⚿ᨐ‫⺒ޔ‬ᄁᣂ⡞ߣᣣ⚻↥ᬺᣂ⡞ߦ⸥੐߇ឝタߐࠇߚ‫ޕ‬ߖࠆߛߌߢ೎ߩ⸒⺆ߦㆡ↪น⢻ߥߩߢ‫ ߪߢ੹ޔ‬% %‫ߩࠄࠇߎޓ‬ᐢႎᵴേߣߪ೎ߦ‫ߣࠎߜ߈ޔ‬ᛛⴚ⊛ౝኈࠍ⺑%QDQN ,CXC .KUR ߥߤߩᄙߊߩࡊࡠࠣ࡜ࡒࡦࠣ⸒⺆᣿ߒ‫ࠍ࡞࡯࠷ޔ‬ታ㓙ߦ૶ߞߡ߽ࠄ߁ᯏળ߇ᔅⷐߣ⠨߃‫ޔ‬‫࠰ޟ‬߿‫ߦ࠻ࠬࠠ࠹ޔ‬ㆡ↪ߢ߈ࠆࠃ߁ߦߥߞߚ‫ޕ‬ࡈ࠻࠙ࠚࠕᎿቇᎿᚱ‫߁޿ߣޠ‬ᨒ⚵ߺࠍ૞ࠅ‫ߩߘޔ‬ਛߢ‫࡯ࠦޔ‬‫ࠆ޽ޓ‬⒟ᐲߎߩ࠷࡯࡞߇ታ↪⊛ߦߥߞߚᲑ㓏ߢ‫߆ߞ߈ޔ‬࠼ࠢࡠ࡯ࡦߩ࠮ࡒ࠽࡯ࠍ➅ࠅ㄰ߒⴕ߁ߎߣߦߒߚ‫ޕ‬ߌߣߥߞߚ & ␠ߩ⾗↥ߦㆡ↪ߔࠆߎߣߦߒߚ‫⚿ߩߘޕ‬ᨐ‫ޔ‬‫ࠕࠚ࠙࠻ࡈ࠰ޓ‬ᎿቇᎿᚱߣߪ‫ޔ‬කቇㇱߩઃዻ∛㒮ࠍෳᾖᄙߊߩ੍ᗐߐࠇߚࠢࡠ࡯ࡦߩ⏕⹺ߣ౒ߦ‫੍ޔ‬ᗐᄖߩࠢߒߚࡕ࠺࡞ߢ‫ࠕࠚ࠙࠻ࡈ࠰ޔ‬Ꮏቇᛛⴚߩ᥉෸ߣะ਄ߩߚࡠ࡯ࡦ߽⊒⷗ߐࠇ‫ߩߎޔ‬⒳ߩಽᨆߩ㊀ⷐᕈࠍౣ⹺⼂ߒߚ߼‫ޔ‬ᄢቇߣ↥ᬺ⇇߇ㅪ៤ߔࠆ႐ࠍ⸳ߌߡ‫߅ߢߎߘޔ‬੕޿=?‫ޕ‬ߩ࠾࡯࠭߿⍮⼂ࠍ੤឵ߒ‫⃻ޔ‬ታߩ⻉໧㗴ࠍ⸃᳿ߔࠆߎߣ‫ޓ‬% % ( K P F G T ߪ࠹ࠠࠬ࠻಴ജࠍਥߣߒߚシ޿࠷࡯࡞ࠍ⋡ࠍ⋡ᜰߒߡ޿ࠆᜰߒߡ޿ࠆ߇‫ޔ‬಴ജࠍ⋥ᗵ⊛ߦℂ⸃ߢ߈ࠆࠃ߁ߥ )7+ ߇‫⃻ޓ‬࿷ߩ '#5' ࡊࡠࠫࠚࠢ࠻ߩජ㉿࡜ࡏ߿࠼ࠗ࠷ߩࡈ࡜ࡦ᥉෸ߦᔅ㗇ߣ⠨߃‫ )ޔ‬G O K P K ߣ޿߁ࠢࡠ࡯ࡦนⷞൻ↪ࡐࡎ࡯ࡈࠔ࡯ +'5' +PUVKVWVGHQT'ZRGTKOGPVCN5QHVYCTG

ࠬ࠻ࡊࡠ࠮࠶ࠨࠍ / ߩቇ↢ߩᬀ↰ᵏ჻ำ㧔⃻ , # : # ߇'PIKPGGTKPI ߪ‫ࠍ࡞࠺ࡕߩߎޔ‬ታ⃻ߒߚ߽ߩߣ⸒߃ࠃ߁‫ޕ‬㐿⊒ߒߡߊࠇߚ =?‫ߩࡦ࡯ࡠࠢޔߦࠄߐޕ‬㒰෰߿ࠢࡠ࡯ታ㓙ߦࠪࠬ࠹ࡓࠍ૞ࠆ⢻ജ‫⾗ޔ‬㊄ߪߥ߆ߞߚߩߢ‫ޔ‬੤ࡦࠍ߹ߣ߼ࠆ࡝ࡈࠔࠢ࠲࡝ࡦࠣߩᡰេ࠷࡯࡞ #TKGU ࠍඳᵹߩ႐ߣߒߡߩࡃ࡯࠴ࡖ࡞ߥ⚵❱ࠍ⋡ᜰߒߚ‫⚿ޕ‬ዪ‫ޔ‬ታ჻⺖⒟ߩቇ↢ߢ޽ࠆ⢈ᓟ⧐᮸ำ߇૞ࠅ⃻࿷߽ᡷ⦟ਛߢ޽〣⊛ߥ࠰ࡈ࠻࠙ࠚࠕᎿቇᛛⴚߦ㑐ߒߡ࠮ࡒ࠽࡯㐿௅ࠍⴕࠆ =?‫৻ࠄࠇߎޕ‬ㅪߩ࠷࡯࡞ߩቢᚑߢ‫ޔ‬%%(KPFGT ߩ᥉෸߁ߎߣߣߒ‫ࡦ࡯ࡠࠢߡߒߣࡑ࡯࠹ߩߘޔ‬ᛛⴚࠍㆬࠎߛ‫ޕ‬ߦ߽ᜉゞ߇߆߆ߞߚ‫ޕ‬ ᐕ  ᦬ࠍ╙  ࿁ߣߒߡ‫⃻ޔ‬࿷߹ߢߦ⸘  ࿁‫ޔ‬ᐕߦ ࿑ ‫ޕ‬ᐲ⒟ᐲ‫࡯࠽ࡒ࠮ޔ‬㐿௅ࠍ⛯ߌߡ޿ࠆ‫ޕ‬Ფ࿁  ฬ⒟ᐲ

㧡㧚%%(KPFGT ߩ᥉෸ߩෳട߇޽ࠅ‫ޔ‬ታ㓙ߦ %%(KPFGT ߿㑐ㅪ࠷࡯࡞ࠍ૶↪‫ޔ‬ᛛ‫ߩ߳↥⾗ߩ␠ &ޓ‬ㆡ↪ߪ೨ߦ߽ㅀߴߚ߇‫ߩߘޔ‬ᓟ‫ࠈ޿ޔ‬ⴚࠍ૕㛎ߒߡ߽ࠄߞߡ޿ࠆ

޿ࠈߥળ␠ߢ‫⹏ޔ‬ଔ↪ߣߒߡ૶ࠊࠇࠆࠃ߁ߦߥߞߚ‫ޕ‬ᚒ‫ޘ‬' # 5 ' ࡊࡠࠫࠚࠢ࠻ࠍᆎ߼‫ޔ‬ᄢ㒋ᄢቇߩ + 6 ㅪ៤ࡈࠜ࡯࡜

ߪ‫ߩ࡞࡯࠷ޔ‬಴᧪ᩕ߃ߪ‫⥄ߦࠅߥࠇߘޔ‬ାߪ޽ߞߚ߇‫ޔ‬

ࡓ 1#%+5 ߿ᖱႎ⑼ቇ⎇ⓥ⑼ߩ  ਎♿ %1' ࡊࡠࠣ࡜ࡓߩߏታ㓙ߩ⃻႐ߢ૶޿߽ߩߦߥࠆ߆‫ޔ‬ᄢ޿ߦਇ቟ߢ޽ߞߚ‫ޕ‬ᡰេࠍ㗂޿ߡ޿ࠆ‫ޕ‬ߘߩߚ߼‫ޔ‬ડᬺߣ޿ࠈ޿ࠈߥ੤ᵹߩ႐ߢ‫ޔ‬ትવᵴേࠍⴕߞ‫ ߥ ߁ ࠃ ߩ ߎ ޓ‬᥉ ෸ ᵴ േ ߩ ᚑ ᨐ ߽ ޽ ࠅ‫ ⃻ ޔ‬࿷‫ ޔ‬ౝ ᄖߚ‫ޕ‬ઃ߈ว޿ߩ޽ࠆ޿ࠈ޿ࠈߥડᬺߦⴕߞߡߪ‫ޔ‬ᄁࠅㄟ ⚵❱⒟ᐲߢ % % ( K P F G T ߇೑↪ߐࠇࠆࠃ߁ߦߥߞߡࠎߢ‫ޔ޿ࠄ߽ߡߞ૶ޔ‬ᡷ⦟ߩ߈ߞ߆ߌߣߒߚ‫ࠢޔߛߚޕ‬߈ ߚ‫ ޕ‬ᶏ ᄖ ߩ ⎇ ⓥ ᯏ 㑐 ߢ ߪ‫ ࡦ ࡯ ࡠ ࠢ ޔ‬ಽ ᨆ ߩ ࠷ ࡯ ࡞ࡠ࡯ࡦಽᨆߩߺࠍ⋡⊛ߣߒߚ౒ห⎇ⓥߪ‫ߢ߆ߕࠊߛ߹ޔ‬ߣߒߡߪ‫ޔ‬% % ( K P F G T ߇ᮡḰ⊛ߥ߽ߩߦߥߞߡ߈ߡ߅޽ࠆ‫ߩ࡞࡯࠷ߩߎޔߪࠇߎޕ‬૏⟎ߠߌ߇‫଻ޔ‬቞ߩ৻ㇱߩࠅ‫ޔ‬+%5' +PVGTPCVKQPCN %QPHGTGPEG QP 5QHVYCTG

૞ᬺߢߩߺ૶ࠊࠇࠆ‫⿠ߦߣߎ߁޿ߣޔ‬࿃ߒߡࠃ߁‫ޕ‬㕙⊕' P I K P G G T K P I ߿ ( 5 ' ( Q W P F C V K Q P U Q P 5 Q H V Y C T Gߘ߁ߛ߇‫޿ߥࠄߥ߫ࠇߌߥࠄ߿ߦઁߣߞ߽ޔ‬㊀ⷐߥߎߣ'PIKPGGTKPI ߥߤߩ࠰ࡈ࠻࠙ࠚࠕᎿቇ㑐ଥߩ࿖㓙ળ⼏ߩ߇ߚߊߐࠎ޽ࠆ‫߁޿ߣޔ‬ᗵߓߢ޽ࠆ‫ޕ‬ᄙߊߩ⺰ᢥߢᒁ↪ߐࠇߡ޿ࠆ‫ޕ‬࿖ౝߢ߽‫⹏ޔ↪⹜ޔ‬ଔ↪

‫ޓ‬ᐢႎߩ৻Ⅳߣߒߡ‫ޔࠍࠬ࡯࡝࡝ࠬ࡟ࡊޔ‬+'''‫ޓ‬65' ߳ߣߒߡᄙߊߩ⚵❱ߢ೑↪ߐࠇߡ߅ࠅ‫ޔ‬໡↪೑↪ࠍᬌ⸛ߒߩ⺰ᢥߩឝタᤨᦼߦหᦼߒߡⴕߞߚ  ᐕ  ᦬㧕‫ߘޕ‬ߡ޿ࠆ⚵❱߽޽ࠆ‫ޕ‬大学

ソフトウェア工学工房
䊶 ੱ᧚ᵷ㆜䊶 ੱ᧚ᵷ㆜䊶 ໧㗴ឭଏ䊶 ᣂ䈚䈇ᛛⴚ

䊶 ⾗㊄ឭଏ䊶 ᛛⴚ䈱⹏ଔ⚿ᨐ䊶 ໧㗴⸃᳿䊶 ⎇ⓥ⾗㊄䊶 䊉䉡䊊䉡ๆ෼䊶 ᣂ䈚䈇䊁䊷䊙䈱⊒⷗䊶 ੱ᧚⢒ᚑ࿑㧟‫ࠕࠛ࠙࠻ࡈ࠰ޓ‬ᎿቇᎿᚱࡕ࠺࡞

3౮⌀  ‫ߩߎޕ‬ᵴേߦߪ‫ᧄޔ‬

産業界

エンピリカルソフトウェア工学の研究と実践
ߩ․ᕈಽᨆߩ㊀ⷐߥ૏⟎ࠍභ߼ࠆࠃ߁ߦߥࠆߣᕁࠊࠇ
ࠆ‫⊒ߩ࡞࡯࠷ޔߪࠄ߆ࠇߎޕ‬ዷߛߌߢߪߥߊ‫ޔ‬ಽᨆߩᚻ
㗅߿ᚻᴺߩᮡḰൻ‫ޔ‬ಽᨆ⚿ᨐߩ⫾Ⓧߣ⹏ଔᴺߩ⏕┙ߥߤ߇ᔅⷐߦߥࠈ߁‫ޕ‬‫ߦࡦ࡯ࡠࠢޓ‬㑐ߒߡߪ‫⎇ޔ‬ⓥߣታ〣߇Ყセ⊛߁߹ߊིߺ
วߞߚ଀ߢ޽ࠈ߁‫ޔߦߢ߹੹ޕ‬ᚒ‫⎇ߩޘ‬ⓥቶߢߪᄙߊߩ
⺰ᢥ‫ޔ‬࿖㓙ળ⼏ࠍߎߩ࠹࡯ࡑߢ⊒⴫ߒߡ߈ߚ‫⃻ޕ‬࿷߽ᄙߊߩቇ↢߇ߎߩ࠹࡯ࡑߦ㑐ࠊߞߡ߅ࠅ‫੹ޔ‬ᓟ߽⎇ⓥࠍ⛮⛯ߒߡ޿ߊ߽ߩߣᕁࠊࠇࠆ‫⎇ޔߦ߁ࠃߩߎޕ‬ⓥᵴേߣߒߡߪචಽḩ⿷ߔߴ߈⚿ᨐߢ޽ࠈ߁‫ޕ‬౮⌀㧝‫ߩ࡯࠽ࡒ࠮ߩࡦ࡯ࡠࠢ࠼࡯ࠦޓ‬᭽ሶ‫৻ޓ‬ᣇ‫ޔ‬ታ〣⊛ߥ⷗࿾߆ࠄߔࠆߣ‫ߎ߈ߴࠆ߿ߛ߹ߛ߹ޔ‬‫ߩࠄࠇߎޓ‬೑↪଀ࠍ⷗ࠆߣ‫␠ޔߨ߻߅߅ޔ‬ౝߩࡊࡠ࠳ࠢߣߪᄙ޿‫ޕ‬ᄢቇߩᢎຬ߿ቇ↢ߩᚻ㑆ߢ‫࡯࡝࡝ࠬ࡟ࡊޔ‬࠻ߩ⹏ଔߦ↪޿ߡ޿ࠆ⚵❱߇ᄙ޿߇‫ޔ‬ਅ⺧ߌ߆ࠄߩ⚊ຠࠬ‫ޔ߇ࠆ޿ߡ߈ߡߞⴕࠍߤߥ࡯࠽ࡒ࠮ޔ‬୘೎ߩ᩺ઙߦ㑐‛ઙߩ࠴ࠚ࠶ࠢߦ߽᦭↪ߢ޽ࠆߣߩ⹤߽޽ࠆ‫ޔߚ߹ޕ‬ᄢߒߡ‫ޔ‬૛ࠅࡈࠜࡠ࡯ߢ߈ߡ޿ߥ޿‫߁߽ޔ߫߃଀ޕ‬ዋߒࡑቇߩࡊࡠࠣ࡜ࡒࡦࠣṶ⠌ߩᚑᨐ‛ߩᬌᩏߦ߽㕖Ᏹߦ᦭ലࡦࡄࡢ࡯߇޽ߞߡ‫ޔ‬༡ᬺ⊛ߥᵴേ߇ߢ߈ࠇ߫‫ࠈ޿ࠈ޿ޔ‬ߢ޽ࠆ‫ ޔߚ߹ޕ‬ᐕ  ᦬ߩᄢ㒋࿾ⵙߩ❱Ꮣᖱႎ૞ᚑߥડᬺߩࠢࡠ࡯ࡦಽᨆࠍ߈ߞ߆ߌߦ‫ࠬ࠮ࡠࡊޔ‬ᡷༀ߿ຠࡊࡠࠣ࡜ࡓ੐ઙ್᳿ߢߪ‫ޔ‬㐓ቯߦ %%(KPFGT ߇↪޿ࠄࠇߚ⾰ะ਄ߩឭ⸒߇ߢ߈ࠆࠃ߁ߦߥࠆߣᕁࠊࠇࠆ‫ޔߒ߆ߒޕ‬߇‫⪺ߦ߁ࠃߩߎޔ‬૞ᮭߩ࠴ࠚ࠶ࠢߦ߽೑↪ߢ߈ࠆ‫ޕ‬ߘߩታᣉߪ⃻࿷ߩᄢቇߩᨒౝߢߪኈᤃߢߪߥ޿‫ޕ‬‫⃻ޓ‬࿷ %%(KPFGT ߪ‫ߩ⸵․ޔ‬㑐ଥ߽޽ࠅ‫ޔ‬㧔9KPFQYU ਄ߢ‫࡯ࡖ࠴ࡦࡌޔ߫߃଀ޔ❱⚵ߥ↱⥄ࠅࠃޓ‬ળ␠‫ޔߪߚ߹ޔ‬Ⓙ௛ߔࠆ㧕ࡃࠗ࠽࡝࡯ᒻᑼߩߺߩᒻᘒߢ‫⎇ޔ‬ⓥ࡮⹏ଔ࡮࠰ࡈ࠻࠙ࠚࠕᎿቇᎿᚱߩࠃ߁ߥ⚵❱ߦ߅޿ߡ‫ޔ‬ડᬺߦኻ⹜㛎↪ࠪࠬ࠹ࡓߣߒߡ‫ޔ‬Ꮧᦸ⠪ߦήఘߢ㈩Ꮣߒߡ޿ࠆ‫ޕ‬ߒߡࠃࠅⓍᭂ⊛ߦಽᨆ‫ޔ‬ឭ⸒ࠍ߿ߞߡ޿ߌࠇ߫‫ޔ‬᥉෸ߦ೨ㅀߩࠃ߁ߦ‫ޔ‬໡↪೑↪ߪ , 5 6 ߆ࠄߩ࡜ࠗ࠮ࡦࠬ߇ᔅⷐࠃࠅ৻ጀ‫ޔ‬ᒢߺ߇ઃߊߎߣߣߥࠈ߁‫ޕ‬ߢ޽ࠆ߇‫ޔ‬᥉෸ߩᅹߍߦߥࠄߥ޿ࠃ߁‫ޔ‬቟ଔߢ◲නߥᚻᢥ‫ޓ‬₂⛯߈ߢ೑↪ߢ߈ࠆࠃ߁ߦ߅㗿޿ߒߡ޿ࠆ‫ߤߥ⺧↳⸵․ޕ‬ߖߕ‫߇߁߶ߚߒߦࠬ࡯࠰ࡦࡊ࡯ࠝޔ‬᥉෸ߦߪ⦟߆ߞߚߩ=? ␹⼱ ᐕᵗ   ࠦ࡯࠼ࠢࡠ࡯ࡦߣߪ㧘ࠦ࡯࠼ࠢࡠ࡯ࡦ߇ᒁ߈⿠ߔ໧㗴㧘ߘߩኻ╷ߩ⃻⁁  㔚ሶᖱႎㅢାቇળ⹹㧘ᐔᚑ ᐕ  ᦬ภ㧘RR=? ੗਄స㇢  ␹⼱ᐕᵗ  ᬮᧄ⌀ੑ   ࠦ࡯࠼ࠢࡠ࡯ࡦᬌ಴
ᴺ  ࠦࡦࡇࡘ࡯࠲࠰ࡈ࠻࠙ࠚࠕ  8QN 0Q RR=? & )WUHKGNF #NIQTKVJOU QP 5VTKPIU 6TGGU CPF5GSWGPEGURR%CODTKFIG7PKXGTUKV[2TGUU
=? 6QUJKJKTQ -COK[C 5JKPLK -WUWOQVQ -CVUWTQ +PQWG
%%(KPFGT # /WNVKNKPIWKUVKE 6QMGP$CUGF %QFG %NQPG&GVGEVKQP 5[UVGO HQT .CTIG 5ECNG 5QWTEG %QFG +'''
6TCPUCEVKQP QP 5QHVYCTG 'PIKPGGTKPI 8QN 0Q RR=?․㗿 㧦หᒻࡄ࠲࡯ࡦᬌ಴ࠪࠬ࠹ࡓ =? 㐷↰ᥙੱ  ૒⮮ᘕ৻  ␹⼱ᐕᵗ  ᧻ᧄஜ৻   ࠦ࡯࠼ࠢࡠ࡯ࡦߦၮߠߊ࡟ࠟࠪ࡯࠰ࡈ࠻࠙ࠚࠕߩຠ⾰ߩಽᨆ   ᖱႎಣℂቇળ⺰ᢥ⹹ 8QN0QRR
=? ᬀ↰ᵏ჻  ␹⼱ᐕᵗ  ᬮᧄ⌀ੑ  ੗਄స㇢   㐿⊒଻቞ᡰេࠍ⋡ᜰߒߚࠦ࡯࠼ࠢࡠ࡯ࡦಽᨆⅣႺ   㔚ሶᖱႎㅢାቇળ
⺰ᢥ⹹ &+8QN&+0QRR
=?⢈ᓟ⧐᮸ ␹⼱ᐕᵗ ᬮᧄ⌀ੑ ੗਄స㇢  ࠦ࡯࠼ࠢࡠ࡯ࡦࠍኻ⽎ߣߒߚ࡝ࡈࠔࠢ࠲࡝ࡦࠣᡰេⅣႺ   㔚ሶᖱႎㅢାቇળ⺰ᢥ⹹8QN,&+0QRR
=? %%(KPFGT JVVRUGNKEUGUQUCMCWCELREFVQQNUKPFGZJVON=?%%(KPFGT:JVVRYYYEE㧋PFGTPGVKPFGZLJVONߢߪ‫߁޿ߣޔ‬ჿ߽޽ࠆ‫ߞ߹ߒߡߒߦࠬ࡯࠰ࡦࡊ࡯ࠝޔߛߚޕ‬ߡ‫ޔ‬ᓟߪ⍮ࠄߥ޿ࠃ‫ߩࠕࠚ࠙࠻ࡈ࠰ޔߪߢޔ‬᥉෸ߪ㔍ߒ޿‫ޕ‬ᚒ‫ୃࠣࡃߥࠈ޿ࠈ޿ޔߪޘ‬ᱜⷐ᳞߿ᯏ⢻᜛ᒛⷐ᳞ߦኻᔕߒߡ߈ߚ‫ޕ‬ᮭ೑⏕଻ߣ᥉෸ߩࡃ࡜ࡦࠬࠍߤ߁ߣࠆ߆ߪ‫ޔ‬㕖Ᏹߦ㔍ߒ޿໧㗴ߢ‫ޔ߆ߚߞ߆⦟ࠄߚߒ߁ߤ߽ߢ੹ޔ‬ߎࠇ߆ࠄߤ߁ߔࠇ߫⦟޿ߩ߆‫⥄ޔ‬໧ߒߡ޿ࠆ‫ޕ‬㧢㧚੹ᓟߦߟ޿ߡ‫⼱␹ޓ‬ำߪ‫⎇✚↥ޔ‬ൕോߩਅ‫ޔ‬+ 2 # ߩᧂ〯࠰ࡈ࠻࠙ࠚࠕߦᔕ൐ߒ‫ޔ‬%%(KPFGT ߩᰴᦼ%%(KPFGT: ࠍ૞ᚑߒߚ =?

㧔ᓐߪߎߩᚑᨐߢᄤᚽࡊࡠࠣ࡜ࡑ࡯㧛ࠬ࡯ࡄ࡯ࠢ࡝ࠛ࡯࠲
ߩ⒓ภࠍᓧߚ㧕‫ޔߪߢ࡞࡯࠷ߩߎޕ‬ሼฏ⸃ᨆㇱࠍ࡙࡯ࠩቯ⟵น⢻ߥᒻߦߒߡ‫ߦ⺆⸒ߥࠈ޿ࠈ޿ޔ‬ኈᤃߦኻᔕߢ߈ࠆࠃ߁ߦߒߡ޿ࠆ‫ޔߢ߹੹ޕ‬ᄙ⒳ᄙ᭽ߥ⸒⺆߳ߩኻᔕⷐ᳞߇޽ࠅ‫৻ߩߘޔ‬ㇱߒ߆ታ⃻ߢ߈ߡ޿ߥ߆ߞߚ߇‫ޔߢࠇߎޔ‬࡙࡯ࠩ⥄りߢ‫ޔߡߒ࠭ࠗࡑ࠲ࠬࠞޔ‬ㆡ↪▸࿐ࠍᐢߍࠆߎ
ߣ߇ߢ߈ࠆࠃ߁ߦߥߞߚ‫ 'ޔߚ߹ޕ‬E N K R U G ਄ߢⒿേߔࠆ)GOKPK ߩᓟ⛮ )7+ ߽㐿⊒ਛߢ޽ࠆ‫ޕ‬‫ 'ޓ‬# 5 ' ࡊࡠࠫࠚࠢ࠻ߢ߽‫ 'ޔ‬2 / ߢ⫾Ⓧߐࠇߚ࠺࡯࠲ߦኻߒߡ‫ޔ‬%%(KPFGT ࠍㆡ↪ߒߡ‫ޔ‬ಽᨆߔࠆ⹜ߺࠍⴕߞߡ޿ࠆ‫ޕ‬ㅢᏱߩࡊࡠ࠮ࠬ߿ࡊࡠ࠳ࠢ࠻ಽᨆߢߪᓧࠄࠇߥ޿⚿ᨐ߇಴ࠆ‫⥝ߣߤߥޔ‬๧ࠍᜬߞߡ޿ߚߛߌࠆᯏળ߽Ⴧ߃ߡ߈ߚ‫ޕ‬੹ᓟ‫'ޔ‬#5' ߩ৻ㅪߩಽᨆߣㅪ៤ߒߡ‫ޔ‬ኻ⽎ࡊࡠࠫࠚࠢ࠻4