Nội dung được dịch bởi AI, chỉ mang tính chất tham khảo
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
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ềmTà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