หากจะตอบคำถามข้างต้นว่าต้องเป็นคนที่เก่งพอจะเข้าไปทำงานวิจัยที่ MIT ก็คงจะไม่ผิดนัก เพราะวันนี้โปรแกรมที่แก้บั๊กด้วยตนเองได้เกิดขึ้นจริงแล้วจากฝีมือนักวิจัยของสถาบันแห่งนี้
แนวทางที่เหล่าโปรแกรมเมอร์ที่ MIT ร่วมกันพัฒนา คือโปรแกรมที่พวกเขาเรียกว่า CodePhage มันคือซอฟต์แวร์ที่จะตรวจหาจุดผิดในโค้ดที่ถูกเขียนขึ้น แล้วไปหยิบยกเอาโค้ดบางส่วนของโปรแกรมอื่น (ซึ่งมีทั้งบรรดาโปรแกรมแบบ open source และโปรแกรมที่มีผู้บริจาคมาให้เพื่องานพัฒนานี้โดยเฉพาะ) มาทำการ "ซ่อมแซม" จุดผิดพลาดเหล่านั้น
Stelios Sidiroglou-Douskos หนึ่งในทีมวิจัยสร้าง CodePhage กล่าวว่าซอฟต์แวร์ของโครงการ open source ต่างๆ ที่มีโค้ดจำนวนมหาศาลนั้น มีโค้ดอยู่ไม่น้อยที่มีองค์ประกอบยิบย่อยบางส่วนที่ทำหน้าที่คล้ายคลึงกันอยู่ ซึ่งเป็นประโยชน์ต่อการเขียนโค้ดใหม่ๆ และนำมาใช้แก้บั๊กได้ ซึ่งที่ผ่านมาก็ได้มีการทดสอบใช้งาน CodePhage กับซอฟต์แวร์ open source ที่มีบั๊ก และพบว่ามันสามารถค้นพบและเริ่มการแก้ไขบั๊กดังกล่าวได้ทันที โดยใช้เวลาอยู่ในช่วง 2-10 นาทีต่อการแก้ไขบั๊กแต่ละจุด
เป้าหมายถัดไปของทีมวิจัยจาก MIT ก็คือย่นเวลาที่ CodePhage ใช้ในการตรวจสอบงานให้สั้นลง และปลายทางในฝันของงานพัฒนานี้ ก็คือช่วยลดภาระของโปรแกรมเมอร์ ด้วยการให้ CodePhage ช่วยเอาโค้ดจากซอฟต์แวร์ที่เคยมีคนเขียนไว้ก่อนแล้วมาปะติดปะต่อเข้าด้วยกัน ซึ่งจะเหลืองานให้โปรแกรมเมอร์เพียงแค่การเขียนโค้ดใหม่ที่ยังไม่เคยมีคนเขียนเท่านั้น
ที่มา - SDTimes
Comments
ที่มี CodePhage ใช้ => ที่ CodePhage ใช้
เข้าใจว่าใช้แค่โค้ดจาก opensrc นะครับ.. อ่านย้อนไปที่โพสของ mit, ผมเข้าใจว่าเค้าเรียกคุ่ของโค้ดต้นทางกับปลายทางว่า donor/recipient (ล้อมาจากการผ่าตัดเปลี่ยนถ่ายอวัยวะ)
https://newsoffice.mit.edu/2015/automatic-code-bug-repair-0629
ถ้ามันพัฒนาตัวเองใวขึ้นจนหยุดไม่ได้ขึ้นมา ถ้ามันต้องการสร้างความสมบูรณ์แบบที่สุดแล้วคนพบว่ามนุษย์คือที่สุดของความไม่สมบูรณ์แบบ แล้ว...... ไปดูหนังดีกว่า
เจ๋งมาก!!!
เดี๋ยวนี้ BigData กลายเป็นส่วนสำคัญของโปรเจ็กโหดๆ ไปแล้ว ตัวนี้ก็ด้วย ต่อไปโลกก็คงได้กลับไปยุค terminal แน่เลย
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
ดีนะไม่ตั้งชื่อโปรเจคว่า Genisys :)
ของผมนี่ Skynet ลอยมาเลย
อย่าเปล่อยให้มันนับถอยหลัง
"ไม่ว่าใคร ก็พัฒนาได้อีก" Ultron
"ซึ่งจะเหลืองานให้โปรแกรมเมอร์เพียงแค่การเขียนโค้ดใหม่ที่ยังไม่เคยมีคนเขียนเท่านั้น"
....
ตกงานสิครับ
เจอ user ไทยเข้าไป
เดี๋ยวก็จ๋อยเองแหละฮะ
นึกถึงกระบวนการถ่ายแบบ DNA ที่มี DNA polymerase I คอยตรวจสอบระหว่างการถ่ายแบบ แถมมีซ่อมให้ด้วยแน๊~
ผมว่าแก้หัวข่าวหน่อยก็ดีนะครับ พาดหัวยังกะ Click bait
หัวข้อข่าวแบบนี้ชวนให้ไม่คลิกเข้ามาอ่านที่สุดสำหรับผม ดีนะที่ Blognone มีเนื้อข่าวโชว์ก่อนคลิกเข้าไปอ่านด้วย
แต่เวลาเอาลิงค์ไปแชร์ในเฟสบุ๊กนี่ดูเหมือน clickbait สุด ๆ เลยครับเพราะไม่เห็นเนื้อหา
หัวข่าวนี่เอาไปแปะเพจ #จบข่าว ได้เลย
ผมว่าเหมือนพันทิป
Skynet.. / มันคงจะเป็นเรื่องยากของโปรแกรมเมอร์เจ้าของโปรแกรมไปเลยถ้าเอา code คนอื่นมาปะเข้าใน code เรา อีกอย่างอาจทำให้เราเสียประสบการณ์ในการแก้ปัญหา bug ต่างๆ
ทีนี้จะหา bug ก็จะเป็น bug ที่ไม่เคยพบไม่เคยเจอมาก่อนเลย
เป็นอีกแนวคิดนึงที่มีโอกาสใช้จริงได้ยาก เพราะโปรแกรมมิ่งไม่ใช่แต่ศาสตร์แต่เป็นศิลป์ด้วย
อาจจะประยุกต์ใช้ในงานที่ไม่ค่อยมีความซับซ้อน
ถ้าแอพนี้มันเกิดบั๊กเสียเอง ใครจะรู้ว่ามันจะแอบแก้บั๊กเราจนโค้ดไปตกส่วนไหนของดาวอังคารแล้วละเนี่ย น่าหวั่นใจจริงๆ
ใกล้ถึงเวลาแล้วสินะ
blog.semicolon.in.th
เขียน code ไม่สวยนี่ถือเป็น bug ด้วยหรือเปล่า?
อยากรู้คำจำกัดความของคำว่า bug ที่ program ตัวนี้เห็นว่าเป็น bug จัง
ถ้าแก้เรื่องไม่สวยมันก็มีแล้วนี่ครับ พวก linter ทั้งหลาย
ผมว่าอันนี้ไม่น่าจะแก้เรื่องพวกนั้นนะ (ยังไม่ได้อ่าน)
ผมว่าคอมพิวเตอร์มันดูไม่ออกหรือครับว่าเขียนโค้ดแบบไหนสวยไม่สวย
ไปเขียน python จะได้สวยครับ มันดูออก อิอิ
ถ้าในมุมมองผม ตัวโปรแกรมน่าจะพิจารณาตรง performance มากกว่าว่าเขียนแบบนี้กับเขียนแบบนั้นแบบไหนจะได้ performance ดีกว่ากัน เพราะยังไงๆ ตัวโปรแกรมก็เป็นตัวเช็คโค้ดเองอยู่แล้ว
ถ้าโปรแกรมแก้บั๊กมันบั๊กซะเองแล้วตรงที่มันไม่บั๊กจะบั๊กมั้ยครับ?
Dream high, work hard.
bugception มากครับ
ถ้าเก่งขนาดนั้น ก็ต้องไม่มีบักดิ สูตรคำนวนผิดจะวิเคราะห์ว่ามันเป็นบักด้วยรึป่าว
งัยก็ใส่ backdoor ใว้ด้วยละกัน
เป็น function หนึ่งในหัว AI !!!
ถ้าโปรแกรมนี้มี bug แล้วมันแก้ bug ให้โปรแกรมนี้ bug ที่มันแก้ bug ที่มี bug มันจะมี bug หรือไม่มี bug
SAO cadinal ลอยมาเลย อิอิ
แล้วถ้า Code ต้นทางมี Bug มันจะ patch ให้ด้วยไหมเนี่ย
โปรแกรมเมอร์ รุ่นหลังจะโง่ขึ้นมาอีกขั้นไหมน่ะ ( หรือว่าผมคิดไปเอง )
เห็นพาดหัวครั้งแรกนึกว่าจะเขียนโปรแกรมบอกมันว่าแอพนี้มีหน้าที่อะไรบ้าง ถ้าอยู่ ๆ มันทำผิดหน้าที่หรือผิดขั้นตอนอะไรที่ตั้งไว้มันจะแก้ไขด้วยตัวมันเอง แก้ไขบัคด้วยตนเองไม่ได้หมายถึงแก้บัคตัวเองสินะ
ผมอ่านหัวข่าวผมก็คิดเหมือนคุณนะ นึกว่าแก้บั๊กตัวเองตามฟีเจอร์ที่เรากำหนด ซึ่งมันโคตรเจ๋งเลย ไม่ต้องเขียนโปรแกรม บอกแค่ความต้องการพอ