tác giả:
(1) Gaurav Kolhatkar, Viện Công nghệ Máy tính Pune của SCTR, Pune, Ấn Độ ([email protected]);
(2) Akshit Madan, Viện Công nghệ Máy tính Pune của SCTR, Pune, Ấn Độ ([email protected]);
(3) Nidhi Kowtal, Viện Công nghệ Máy tính Pune của SCTR, Pune, Ấn Độ ([email protected]);
(4) Satyajit Roy, Viện Công nghệ Máy tính Pune của SCTR, Pune, Ấn Độ ([email protected]).
Kết luận và tài liệu tham khảo
Tóm tắt —Việc chuyển đổi sử thi hoặc câu chuyện của người dùng thành dạng thể hiện phù hợp của chúng dưới dạng mã giả hoặc mã là một công việc tốn nhiều thời gian và có thể chiếm phần lớn thời gian trong một dự án công nghiệp. Với bài nghiên cứu này, chúng tôi mong muốn trình bày một phương pháp tạo mã giả từ một câu chuyện người dùng linh hoạt nhất định về các chức năng nhỏ để giảm tổng thời gian dành cho dự án công nghiệp. Mã giả là một cách trình bày bất khả tri của ngôn ngữ lập trình về các bước liên quan đến chương trình máy tính, có thể dễ dàng chuyển đổi sang bất kỳ ngôn ngữ lập trình nào. Tận dụng tiềm năng của Xử lý ngôn ngữ tự nhiên, chúng tôi muốn đơn giản hóa quy trình phát triển trong các tổ chức sử dụng Mô hình phát triển phần mềm linh hoạt. Chúng tôi trình bày một phương pháp để chuyển một bài toán được mô tả bằng tiếng Anh sang mã giả. Phương pháp này chia tác vụ chuyển đổi Văn bản sang Mã giả thành hai giai đoạn hoặc nhiệm vụ phụ, mỗi giai đoạn được xử lý giống như một tác vụ dịch máy riêng lẻ. Giai đoạn 1 là Chuyển đổi văn bản thành mã và Giai đoạn 2 là Chuyển đổi mã thành mã giả. Chúng tôi thấy rằng mô hình CodeT5 cho kết quả tốt nhất về điểm BLEU khi được huấn luyện riêng biệt về hai nhiệm vụ phụ nêu trên. Điểm BLEU là số liệu được sử dụng để đo lường mức độ tương tự giữa văn bản được dịch bằng máy và một tập hợp các bản dịch tham chiếu.
Thuật ngữ chỉ mục —Tạo văn bản thành mã, Tạo mã thành mã giả, Transformers
Hiệu quả công việc là điều quan trọng nhất trong các tổ chức và doanh nghiệp hiện đại. Phần lớn nơi làm việc ngày nay sử dụng Mô hình Agile để phát triển phần mềm. Agile là một phương pháp phát triển phần mềm dựa trên sự phát triển lặp đi lặp lại, trong đó các nhiệm vụ được chia thành các lần lặp hoặc chạy nước rút nhỏ hơn. Trong các công cụ quản lý dự án Agile như Jira được sử dụng để ghi lại các yêu cầu của người dùng dưới dạng sử thi hoặc câu chuyện của người dùng. Các nhà phát triển cần hiểu những yêu cầu này và viết mã cho những yêu cầu tương tự. Tuy nhiên, có thể tiết kiệm đáng kể thời gian và nỗ lực phát triển bằng cách tự động hóa quá trình tạo mã/mã giả, đặc biệt đối với các vấn đề đơn giản hoặc lặp đi lặp lại đã được giải quyết trước đó. Động lực của bài nghiên cứu của chúng tôi là đơn giản hóa công việc của các nhà phát triển để họ có thể tập trung vào các nhiệm vụ phức tạp hơn và trong quá trình đó, tối ưu hóa vòng đời phát triển phần mềm.
Jira là một ứng dụng phần mềm được sử dụng để theo dõi vấn đề và quản lý dự án. Nó được các nhóm phát triển linh hoạt sử dụng rộng rãi để theo dõi lỗi, câu chuyện, sử thi và các nhiệm vụ khác. Sử thi là khối lượng công việc lớn có thể được chia thành một số nhiệm vụ nhỏ hơn (được gọi là câu chuyện). Câu chuyện, còn được gọi là “câu chuyện của người dùng”, là những yêu cầu hoặc yêu cầu ngắn được viết dưới góc nhìn của người dùng cuối. Mục đích của chúng tôi là chuyển đổi sử thi/câu chuyện thành mã giả.
Bất chấp những ưu điểm của Mô hình Agile, việc phát triển phần mềm vẫn có thể là một quá trình khó khăn và tốn nhiều thời gian, đặc biệt là khi chuyển các yêu cầu của người dùng thành mã chức năng. Các nhà phát triển thường dịch các sử thi hoặc câu chuyện của người dùng thành mã theo cách thủ công như một phần của quá trình này, quá trình này có thể mất rất nhiều thời gian và công sức.
Nghiên cứu của chúng tôi dự định điều tra tiềm năng của việc sử dụng các phương pháp học máy và xử lý ngôn ngữ tự nhiên để tự động hóa quá trình tạo mã và mã giả từ các câu chuyện của người dùng nhằm giải quyết khó khăn này. Bằng cách này, chúng tôi hy vọng sẽ hợp lý hóa nhiệm vụ của các nhà phát triển, nâng cao vòng đời phát triển phần mềm và nâng cao hiệu quả của toàn bộ dự án công nghiệp.
Những tiến bộ gần đây trong lĩnh vực xử lý ngôn ngữ tự nhiên đã giúp có thể tự động hóa nhiều thao tác thủ công trước đây. Đặc biệt, những phát triển gần đây trong lĩnh vực học sâu đã giúp tạo ra các mô hình ngôn ngữ tự nhiên phức tạp có thể trích xuất ngữ cảnh và ý nghĩa từ văn bản nhập vào. Bằng cách sử dụng các mô hình này, chúng tôi có thể tạo mã hoặc mã giả từ câu chuyện của người dùng một cách nhanh chóng và hiệu quả, giảm bớt áp lực cho các nhà phát triển.
Nghiên cứu của chúng tôi sẽ kiểm tra nhiều phương pháp hiện đang được sử dụng, bao gồm hệ thống dựa trên quy tắc, mô hình thống kê và kỹ thuật học sâu để tạo mã hoặc mã giả từ câu chuyện của người dùng. Chúng tôi sẽ đánh giá những lợi ích và hạn chế của từng phương pháp và đề xuất một chiến lược mới để tận dụng tối đa những ưu điểm của chúng.
Nhìn chung, tài liệu nghiên cứu của chúng tôi nhằm mục đích làm cho việc phát triển phần mềm trở nên hiệu quả và hiệu quả hơn bằng cách tự động hóa quy trình tạo mã/mã giả từ câu chuyện của người dùng. Bằng cách đó, chúng tôi hy vọng sẽ giúp các nhà phát triển rảnh tay để tập trung vào các nhiệm vụ phức tạp hơn, giảm nguy cơ xảy ra lỗi và cuối cùng là cung cấp các sản phẩm phần mềm tốt hơn cho người dùng.
Bài viết này có sẵn trên arxiv theo giấy phép CC 4.0.