การขุดซอฟต์แวร์คืออะไร?

การขุดซอฟต์แวร์เป็นกระบวนการที่บุคคลหรือกลุ่มคนมักเกี่ยวข้องกับอุตสาหกรรมเทคโนโลยีสารสนเทศ (IT) ดูที่ซอร์สโค้ดของโปรแกรมซอฟต์แวร์เพื่อตรวจสอบข้อมูลเกี่ยวกับมัน สามารถทำได้หลายวิธีแม้ว่าซอฟต์แวร์อื่นมักใช้เพื่อทำให้กระบวนการง่ายขึ้นหรือเร็วขึ้น ข้อมูลที่ได้จากวิธีนี้สามารถนำไปใช้ได้หลายวิธีและนำไปใช้เป็นประจำในการสร้างแบบจำลองสำหรับการพัฒนาซอฟต์แวร์ในอนาคต การขุดซอฟต์แวร์นั้นคล้ายคลึงกันในบางประการกับการขุดข้อมูลแม้ว่าประเภทของข้อมูลที่ได้รับและการใช้งานอาจแตกต่างกันมาก

กระบวนการของการขุดซอฟต์แวร์มักใช้โดย บริษัท และผู้พัฒนาซอฟต์แวร์เพื่อดึงข้อมูลจากโปรแกรมเพื่อใช้ในการพัฒนาซอฟต์แวร์ใหม่ โดยทั่วไปแล้วผู้พัฒนาซอฟต์แวร์จะทำตามบรรทัดต่าง ๆ ของรหัสที่ประกอบขึ้นเป็นโปรแกรมและแยกข้อมูลจากรหัสนั้น โปรแกรมอื่น ๆ มักจะใช้เพื่ออำนวยความสะดวกในการขุดซอฟต์แวร์บ่อยครั้งโดยการค้นหาคำหรือเซ็กเมนต์บางอย่างภายในโค้ด ข้อมูลที่พบในวิธีนี้สามารถนำไปใช้ได้หลายวิธีบ่อยครั้งเป็นแบบอย่างสำหรับการพัฒนาโปรแกรมใหม่

การทำเหมืองซอฟต์แวร์โดยทั่วไปแล้วจะทำโดย บริษัท หรือบุคคลในซอฟต์แวร์ที่ได้รับการพัฒนาโดย บริษัท นั้นเป็นกรรมสิทธิ์ของ บริษัท ตามกฎหมายหรือมีการให้สิทธิ์ภายใต้ใบอนุญาตโอเพนซอร์ซ สิ่งนี้ทำให้การใช้ข้อมูลใด ๆ ที่ถูกสกัดผ่านกระบวนการทำเหมืองถูกกฎหมาย การขุดซอฟต์แวร์ที่ดำเนินการในโปรแกรมที่เป็นของบุคคลหรือ บริษัท อื่นอาจละเมิดกฎหมายลิขสิทธิ์ที่คุ้มครองซอฟต์แวร์เป็นทรัพย์สินทางปัญญา นี่อาจเป็นบางสิ่งบางอย่างในพื้นที่ทางกฎหมายที่คลุมเครือในบางกรณีอย่างไรก็ตามดังนั้นการขุดควรทำอย่างรอบคอบโดยโปรแกรมเมอร์หรือนักพัฒนา

ในหลาย ๆ วิธีการขุดซอฟต์แวร์จะคล้ายกับกระบวนการอื่นที่เรียกว่าการขุดข้อมูล การขุดข้อมูลมักใช้เทคนิคและแอพพลิเคชั่นที่คล้ายกันกับที่ใช้ในซอฟต์แวร์การทำเหมืองแม้ว่ามันจะทำกับฐานข้อมูลและข้อมูลดิบอื่น ๆ จำนวนมากแทนที่จะใช้กับโปรแกรมซอฟต์แวร์ คำสองคำนี้ใช้แทนกันได้โดยผู้เชี่ยวชาญด้านไอทีบางคนและอาจใช้“ การขุดข้อมูล” ในส่วนที่เกี่ยวกับโปรแกรมซอฟต์แวร์ด้วยเช่นกัน ในขณะที่การขุดข้อมูลมักจะพยายามรับข้อมูลที่เป็นประโยชน์และเฉพาะเจาะจงจากชุดข้อมูลขนาดใหญ่การขุดซอฟต์แวร์มักจะดำเนินการเพื่อค้นหาวิธีสร้างตารางข้อมูลและรหัสในตอนแรก