nhỏ|Một trang trong nhật ký của máy tính cơ điện Harvard Mark II, có hình một con bướm đêm đã chết đã được lấy ra khỏi thiết bị
Lỗi phần mềm là một lỗi hay hỏng hóc trong chương trình hoặc hệ thống máy tính khiến nó tạo ra kết quả không chính xác hoặc không mong muốn hoặc hành xử theo những cách không lường trước được. Quá trình tìm và sửa lỗi được gọi là "gỡ lỗi" và thường sử dụng các kỹ thuật hoặc công cụ chính thức để xác định lỗi và từ những năm 1950, một số hệ thống máy tính đã được thiết kế để ngăn chặn, phát hiện hoặc tự động sửa các lỗi máy tính khác nhau trong quá trình hoạt động.
Hầu hết các lỗi phát sinh từ các lỗi và sai lầm được tạo ra trong mã nguồn của chương trình hoặc thiết kế của chương trình hoặc trong các thành phần và hệ điều hành được sử dụng bởi các chương trình đó. Một số ít các lỗi được gây ra bởi trình biên dịch sản xuất mã không chính xác. Một chương trình có chứa nhiều lỗi (bug) hoặc lỗi ảnh hưởng nghiêm trọng đến chức năng của nó, (buggy). Lỗi có thể kích hoạt các lỗi khác tạo ra hiệu ứng gợn. Lỗi có thể có hiệu ứng hoặc khiến chương trình bị sập hoặc treo máy tính. Các lỗi khác như chỉnh sửa điều kiện truy cập là lỗi bảo mật và có thể giúp cho phép một số người dùng qua được các hàng rào bảo mật để truy cập một số trang web trái phép hoặc mua bán qua các nền tảng công nghệ bị cấm bởi chính phủ.
Một số lỗi phần mềm có thể nghiêm trọng tới mức thảm họa. Lỗi trong mã điều khiển máy xạ trị Therac-25 đã trực tiếp khiến bệnh nhân tử vong trong những năm 1980. Năm 1996, tên lửa Ariane 5 của Cơ quan Vũ trụ Châu Âu trị giá 1 tỷ USD đã bị phá hủy chưa đầy một phút sau khi phóng do lỗi trong chương trình máy tính hoa tiêu cài đặt trên tàu. Vào tháng 6 năm 1994, một máy bay trực thăng Chinook của Không quân Hoàng gia đã đâm vào Mull of Kintyre, giết chết 29 người. Điều này ban đầu được coi là lỗi phi công, nhưng một cuộc điều tra của Computer Weekly đã thuyết phục một cuộc điều tra của House of Lords rằng nó có thể là do lỗi phần mềm trong máy tính điều khiển động cơ của máy bay.
Năm 2002, một cuộc điều tra do Mỹ Bộ Thương mại của Viện Tiêu chuẩn và Công nghệ kết luận rằng "lỗi phần mềm, hoặc sai sót trong lập trình là nguyên nhân phổ biến và gây hại đến nỗi chúng đã hao tổn nền kinh tế Mỹ ước tính khoảng 59 tỷ USD mỗi năm, tương đương khoảng 0,6% tổng sản phẩm quốc nội".
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
nhỏ|Một trang trong nhật ký của máy tính cơ điện Harvard Mark II, có hình một con bướm đêm đã chết đã được lấy ra khỏi thiết bị **Lỗi phần mềm** là một lỗi hay
**Kiểm thử phần mềm** (tiếng Anh: **Software testing**) là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ
nhỏ| Một sơ đồ cho thấy cách người dùng tương tác với [[phần mềm ứng dụng trên một máy tính để bàn thông thường. Lớp phần mềm ứng dụng giao tiếp với hệ điều hành,
thumb|alt=Màn hình máy tính của hệ điều hành, màn hình hiển thị các ứng dụng phần mềm tự do khác nhau.|Ví dụ về một hệ điều hành phần mềm tự do hiện đại chạy một
**Phần mềm tự do nguồn mở** (Tiếng Anh: _Free and open-source software_ (Viết tắt là F/OSS, FOSS) hoặc _Free/Libre/open-source software_ (Viết tắt là FLOSS)) là loại phần mềm được bao gồm Phần mềm tự do
thumb|Mô hình vòng đời phát hành phần mềm Một **vòng đời phát hành phần mềm** là một sự tổng hợp các pha phát triển phần mềm từ giai đoạn sơ khai cho đến giai đoạn
**Wine** là một lớp tương thích tự do nguồn mở dùng để chạy các phần mềm viết cho Windows trên các hệ điều hành tương tự Unix (Linux, FreeBSD,...). Wine cũng cung cấp một thư
Phần mềm là các lệnh được lập trình mà được lưu trữ trong bộ nhớ được lưu trữ của các máy tính kỹ thuật số để bộ xử lý thực hiện. Phần mềm là một
**Zoom** là phần mềm gọi video phát triển bởi Zoom Video Communications. Phiên bản miễn phí cung cấp gọi video với tối đa 100 thiết bị cùng lúc, và giới hạn thời gian là 40
**Bảo trì phần mềm** (tiếng Anh _software maintenance_) bao gồm điều chỉnh các lỗi mà chưa được phát hiện trong các giai đoạn trước của vòng đời của một phần mềm, nâng cấp tính năng
**Phần mềm dạng dịch vụ** (**SaaS** ) là mô hình cấp phép và phân phối phần mềm trong đó phần mềm được cấp phép trên cơ sở đăng ký và được lưu trữ tập trung.
**Phần mềm giỏ hàng** (Tiếng Anh: _Shopping cart software_) là một phần mềm thương mại điện tử (e-commerce software) cho phép khách hàng truy cập vào một trang web, chọn lựa và mua sắm các
**Quỹ Phần mềm Tự do** hay **Tổ chức Phần mềm Tự do** (tiếng Anh: _Free Software Foundation_, viết tắt **FSF**) là một tổ chức phi lợi nhuận do Richard Stallman thành lập ngày 4 tháng
**Công ty phần mềm** là một công ty có các sản phẩm chính là các phần mềm, công nghệ phần mềm, phân phối và phát triển sản phẩm phần mềm. Công ty phần mềm là
**Phần mềm gián điệp**, còn được dùng nguyên dạng Anh ngữ là **spyware**, là loại phần mềm chuyên thu thập các thông tin từ các máy chủ (thông thường vì mục đích thương mại) qua
**Phần mềm ác ý**, còn gọi là **phần mềm ác tính**, **phần mềm độc hại**, **phần mềm gây hại** hay **mã độc** (tiếng Anh: **malware** là sự ghép của hai chữ _malicious_ và _software_) là
liên_kết=https://en.wikipedia.org/wiki/File:ClamTk_5.27.png|nhỏ|300x300px|[[ClamTk, một phần mềm diệt vi-rút mã nguồn mở dựa trên công cụ diệt virus ClamAV, ban đầu được Tomasz Kojm phát triển vào năm 2001.]] nhỏ|255x255px|Ảnh chụp giao diện phần mềm diệt virus có
nhỏ|Ảnh chụp màn hình trò chơi giáo dục Chinese Tap trên Android để dạy học tiếng Trung. **Phần mềm giáo dục** là phần mềm máy tính có nhiệm vụ chính là hỗ trợ dạy học
**Xây dựng phần mềm** (tiếng Anh:_Software construction_) là một quy tắc kỹ thuật phần mềm. Nó là quá trình tạo ra chi tiết của phần mềm thông qua sự kết hợp của viết mã, xác
**Phần mềm xử lý bảng tính** hay **Bảng tính** (tiếng Anh**: Spreadsheet**) là một phần mềm ứng dụng dùng để tổ chức, phân tích và lưu trữ dữ liệu thông qua các bảng tính (gọi
**Phần mềm hệ thống** là phần mềm máy tính thiết kế cho việc vận hành và điều khiển phần cứng máy tính và cung cấp một kiến trúc cho việc chạy _phần mềm ứng dụng_.
**Quản lý dự án phần mềm** việc lên kế hoạch có tính khoa học và nghệ thuật trong quá trình quản lý các dự án phần mềm. Nó chính là quy trình quản lý dự
**RPM Package Manager** (**RPM**) (ban đầu là **Red Hat Package Manager**; bây giờ là một từ viết tắt đệ quy) là một trình quản lý gói. Tên gọi RPM đề cập đến: định dạng file.rpm,
**Delphi** là sản phẩm phần mềm sử dụng phương ngữ Delphi của ngôn ngữ lập trình Object Pascal và cung cấp môi trường phát triển tích hợp (IDE) để phát triển ứng dụng nhanh chóng
**Bộ công cụ phát triển phần mềm** (tiếng Anh: **software development kit**, viết tắt là **SDK**) là một gói các công cụ phát triển phần mềm (software development) trong một gói có thể cài đặt.
**Quy trình phát triển phần mềm** _(software development methodology)_ là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất
**Nessus** là một công cụ quét lỗ hổng bảo mật độc quyền được phát triển bởi Công ty An ninh mạng Tenable, được phát hành miễn phí cho việc sử dụng phi thương mại. Theo
nhỏ|400x400px|Giấy phép phần mềm trong bối cảnh bản quyền theo Mark Webbink. Từ trái sang phải ít quyền cho người được cấp phép/user của một phần mềm và nhiều hơn nữa quyền giữ lại bởi
**Phần mềm ứng dụng** (tiếng Anh: _Application software_, hay còn được viết tắt là _app_) là một loại chương trình có khả năng làm cho thiết bị điện tử thực hiện trực tiếp một công
**Công nghệ phần mềm** () là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm. Ngành
Đây là danh sách **Phần mềm mã nguồn mở**: là phần mềm máy tính được cấp phép giấy phép mã nguồn mở. Bài viết này không có tham vọng liệt kê tất cả những phần
**Phát triển phần mềm linh hoạt** hoặc **lập trình linh hoạt** (tiếng Anh: **_Agile software development_** hay **_Agile programming_**) là một phương thức thực hiện các dự án công nghệ phần mềm, phương thức này
**Nhà phát triển phần mềm** là một cá nhân hay một tổ chức có liên quan đến các vấn đề trong quá trình phát triển phần mềm ở mức cao hơn việc chỉ thiết kế
**Kiến trúc phần mềm** của một chương trình máy tính hay một hệ thống tính toán là cấu trúc của các thành phần trong hệ thống đó. _Kiến trúc phần mềm_ bao gồm các phần
thumb|upright|Biểu đồ dòng thời gian cho thấy sự phát triển của các [[bản phân phối Linux, với mỗi nhánh rẽ trong sơ đồ được gọi là "một fork".]] Trong phát triển phần mềm, **fork** ()
**Xác minh phần mềm** (tiếng Anh: _Software verification_) là một quy tắc của công nghệ phần mềm với mục tiêu đảm bảo rằng phần mềm đáp ứng đầy đủ tất cả các yêu cầu dự
**Unity** là một game engine đa nền tảng được phát triển bởi Unity Technologies, mà chủ yếu để phát triển video game cho máy tính, consoles và điện thoại. Lần đầu tiên nó được công
**Hóa đơn nguyên vật liệu phần mềm** (BOM phần mềm) là danh sách các thành phần trong một phần mềm. Các nhà cung cấp phần mềm thường tạo ra các sản phẩm bằng cách lắp
**Pegasus** là một phần mềm gián điệp của tập đoàn Israel NSO Group dùng để theo dõi các thiết bị iOS và Android. Phần mềm có thể lén lút truy cập tất cả các dữ
**Wubi** (_Windows-based Ubuntu Installer_) là một trình cài đặt chính thức của Ubuntu trên nền tảng Windows, từ 2008 đến 2015, cho phép cài đặt Ubuntu vào một file trong phân vùng của Windows. Sau
**Origin** là một nền tảng phân phối kỹ thuật số được phát triển bởi Electronic Arts để mua và chơi các trò chơi điện tử. Phần mềm này có sẵn cho máy tính và
**Giấy phép phần mềm** (hay **giấy phép phần mềm** trong cộng đồng sử dụng) là một phương tiện pháp lý chi phối việc sử dụng và tái phân phối phần mềm được bảo vệ bản
**Blender** là một phần mềm đồ họa 3D miễn phí và nguồn mở, được sử dụng để làm phim hoạt hình, kỹ xảo, ảnh nghệ thuật, mẫu in 3D, phần mềm tương tác 3D và
**Cura** là một ứng dụng cắt lớp cho máy in 3D mã nguồn mở. Nó được tạo ra bởi David Braam, người sau đó gia nhập Ultimaker, một công ty sản xuất máy in 3D
nhỏ|500x500px| Yêu cầu quan trọng đối với phần mềm phân phối là **Khả năng hiển thị hàng tồn kho** bao gồm cả khả năng hiển thị hàng tồn kho nội bộ (ở trên) cũng như
thumb|right|Logo Ngày Phần mềm Tự do **Ngày Phần mềm Tự do**, **Software Freedom Day** (**SFD**) là một lễ kỷ niệm hàng năm trên toàn thế giới của cộng đồng Tự do nguồn mở được tổ
[[Tập tin:Nexus 4.png|thumb| Nexus 4 là một trong những thiết bị "thân thiện với lập trình viên" thuộc dòng sản phẩm Google Nexus]] **Phát triển phần mềm Android** là quy trình tạo ra các ứng
**Signal** là một dịch vụ nhắn tin được mã hóa đa nền tảng được phát triển bởi Signal Foundation và Signal Messenger LLC. Nó sử dụng Internet để gửi tin nhắn giữa hai người hoặc
**Mono** là một dự án tự do nguồn mở nhằm tạo ra một để tạo software framework tương thích .NET Framework tương thích tiêu chuẩn Ecma, bao gồm một trình biên dịch C# và Common
**Deep Freeze**, sản xuất bởi Faronics, là một ứng dụng dành cho các hệ điều hành Microsoft Windows, Mac OS X, và SUSE Linux cho phép quản trị viên hệ thống bảo vệ phần cốt