Kinh nghiệm trong việc phát triển và áp dụng một nền tảng thử nghiệm công nghệ kỹ thuật phần mềm

Alexander Lam1, Barry Boehm1
1University of Southern California, Los Angeles, USA

Tóm tắt

Một vấn đề lớn trong kỹ thuật phần mềm thực nghiệm là xác định hoặc đảm bảo tính so sánh giữa nhiều nguồn dữ liệu thực nghiệm. Bài báo này tóm tắt các trải nghiệm trong việc phát triển và áp dụng một nền tảng thử nghiệm công nghệ kỹ thuật phần mềm. Nền tảng thử nghiệm được thiết kế để đảm bảo tính so sánh của dữ liệu thực nghiệm được sử dụng để đánh giá các công nghệ kỹ thuật phần mềm thay thế, và để tăng tốc độ trưởng thành và chuyển giao công nghệ vào việc áp dụng dự án. Các yêu cầu cho các nền tảng thử nghiệm công nghệ kỹ thuật phần mềm như vậy không chỉ bao gồm các thông số kỹ thuật và mã nguồn, mà còn bao gồm gói dụng cụ, các trình điều khiển kịch bản, lỗi đã được gieo trước, hướng dẫn thực nghiệm, và dữ liệu so sánh về nỗ lực và lỗi cần thiết để hỗ trợ các thí nghiệm đánh giá công nghệ. Các yêu cầu và kiến trúc để xây dựng một nền tảng thử nghiệm công nghệ kỹ thuật phần mềm cụ thể nhằm giúp NASA đánh giá các khoản đầu tư của mình vào nghiên cứu và công nghệ độ tin cậy phần mềm đã được phát triển và áp dụng để đánh giá một loạt các công nghệ. Các công nghệ được đánh giá đến từ các lĩnh vực kiến trúc, kiểm tra, kiểm tra mô hình trạng thái và bao bì hoạt động. Bài báo này sẽ trình bày lần đầu tiên các yêu cầu và kiến trúc của nền tảng thử nghiệm công nghệ kỹ thuật phần mềm. Các kết quả của các đánh giá công nghệ sẽ được phân tích từ quan điểm về cách mà các nhà nghiên cứu hưởng lợi từ việc sử dụng SETT. Các nhà nghiên cứu chỉ báo cáo cách mà công nghệ của họ hoạt động trong các phát hiện ban đầu của họ. Đánh giá nền tảng thử nghiệm cho thấy (1) một số công nghệ là bổ sung và hiệu quả chi phí để áp dụng; (2) rằng nền tảng thử nghiệm là hiệu quả chi phí cho các nhà nghiên cứu trong một lĩnh vực áp dụng được xác định rõ; (3) rằng sự hợp tác trong việc sử dụng nền tảng thử nghiệm giữa các nhà nghiên cứu và các thực hành thực tiễn đã dẫn đến dữ liệu thực nghiệm tương đương và trong các hành động để tăng tốc độ trưởng thành công nghệ và chuyển giao vào việc áp dụng dự án, như được thể hiện trong đánh giá AcmeStudio; và (4) rằng các yêu cầu và kiến trúc của nền tảng thử nghiệm công nghệ kỹ thuật phần mềm là phù hợp để đánh giá các công nghệ và tăng tốc độ trưởng thành và chuyển giao của chúng vào việc áp dụng dự án.

Từ khóa

#kỹ thuật phần mềm #nền tảng thử nghiệm #công nghệ #đánh giá công nghệ #độ tin cậy phần mềm

Tài liệu tham khảo

Benzel T, Braden R, Kim D, Neuman C, Joseph A, Ostrenga R et al Design, Deployment, and Use of the Deter Testbed. Proceedings of the DETER Community Workshop on Cyber Security Experimentation and Test, August 2007. Boehm B (1996) Anchoring the software process. IEEE Softw 73–82, (July). doi:10.1109/52.526834 Boehm B, Port D 2001. Balancing discipline and flexibility with the Spiral Model and MBASE. Crosstalk, December 2001, pp. 23–28 (http://www.stsc.hill.at.mil/crosstalk) Boehm, B. and USC Center for Software Engineering (2003) Guidelines for Model-Based (System) Architecting and Software Engineering. (http://sunset.usc.edu/research/MBASE) Boehm B, Bhuta J, Garlan D, Gradman E, Huang L, Lam A et al (2004) Using testbeds to accelerate technology maturity and transition: The SCRover Experience. ACM-IEEE International Symposium on Empirical Software Engineering, August, pp. 117–126 Booch G, Rumbaugh J, Jacobson I (1999) The unified modeling language user guide. Addison Wesley, Reading Chillarege R, Bhandari IS, Chaar JK, Halliday MJ, Moebus DS, Ray BK et al (1992) Orthogonal Defect Classification—A Concept for In-Process Measurements. IEEE Trans Softw Eng 18(11). doi:10.1109/32.177364 Dvorak D, Rasmussen R, Reeves G, Sacks A (2000) Software architecture themes in JPL’s Mission Data System. Proceedings of 2000 IEEE Aerospace Conference. Fickas S, Prideaux J, Fortier A 2004. ROPE: Reasoning about OPerational Envelopes. http://www.cs.uoregon.edu/research/mds/ Garlan D, Monroe RT, Wile D (2000). Acme: architectural description of component-based systems. In: Leavens GT, Sitaraman M (eds) Foundations of component-based systems. Cambridge University Press Kruchten P (2001) The rational unified process (2nd edn). Addison Wesley, Reading Lindvall M, Rus I, Donzelli P, Memon A, Zelkowitz M, Betin-Can A et al (2007) Experimenting with software testbeds for evaluating new technologies. Empir Softw Eng 12(4):417–444 doi:10.1007/s10664-006-9034-0 Mettala E, Graham M (1992) The domain-specific software architecture program. Technical Report CMU/SEI-92-SR-9, CMU Software Engineering Institute Mills H (1972) On The Statistical Validation of Computer Programs. IBM Federal Systems Division Report 72-6015 Redwine S, Riddle W (1985) Software technology maturation. Proceedings of the 8th International Conference on Software Engineering (ICSE1985), pp. 189–200 Rinker G (2002) Mission Data Systems Architecture and Implementation Guidelines. Ground System Architectures Workshop (GSAW 2002). El Segundo, California RoboCup 2007. <http://www.robocup.org/> Roshandel R, Schmerl B, Medvidovic N, Garlan D, Zhang D (2004a) Understanding tradeoffs among different architectural modeling approaches. Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA 2004) Oslo, Norway Roshandel R, van der Hoek A, Mikic-Rakic M, Medvidovic N (2004b) Mae—a system model and environment for managing architectural evolution. ACM Trans Softw Eng Methodol 11(2):240–276 doi:10.1145/1018210.1018213 Roshandel R, Banerjee S, Cheung L, Medvidovic N, Golubchik L (2006) Estimating software component reliability by leveraging architectural models. 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May, pp. 853–856 Stone P (2003) Multiagent competition and research: lessons from RoboCup and TAC. RoboCup-2002: Robot Soccer World Cup VI. Springer Verlag, Berlin, pp 224–237 Tracz W (1995) DSSA (Domain-Specific Software Architecture) pedagogical example. ACM SIGSOFT Softw Eng Notes 20(3):49–62