ABSTRACT
Software process models are sophisticated and large specifications aimed at organizing and managing software development. Their formal specification demands an enormous effort, but once specified there are few approaches and even fewer tools that aid the process engineer to analyze the quality of the process. For the last five years we have aided software companies in specifying their software processes and we have found a series of error patterns that indicate the potential presence of misconceptions or misspecifications. This paper presents these patterns, characterizes the kinds of errors they potentially reveal, and details how errors could be localized within a software process model. To assist process engineers to analyze the quality of their processes, we provide Avispa, a tool that graphically renders different aspects of a process model and highlights potential errors as intuitive and comprehensible indicators. The approach and the supporting tool are illustrated by applying them for analyzing the software process models of three Chilean software companies.
- A. Brühlmann, T. Gîrba, O. Greevy, and O. Nierstrasz. Enriching reverse engineering with annotations. In International Conference on Model Driven Engineering Languages and Systems, volume 5301 of LNCS, pages 660--674. Springer-Verlag, 2008. Google ScholarDigital Library
- G. Cánfora, F. García, M. Piattini, F. Ruiz, and C. A. Visaggio. A family of experiments to validate metrics for software process models. Journal of Systems and Software, 77(2):113--129, 2005. Google ScholarDigital Library
- J. E. Cook and A. L. Wolf. Software process validation: quantitatively measuring the correspondence of a process to a model. ACM Transactions On Software Engineering Methodology, 8(2):147--176, 1999. Google ScholarDigital Library
- S. Demeyer, S. Ducasse, and O. Nierstrasz. Object-Oriented Reengineering Patterns. Morgan Kaufmann, 2002. Google ScholarDigital Library
- J. Durães and H. Madeira. Emulation of Software Faults: A Field Data Study and a Practical Approach. IEEE Transactions on Software Engineering, 32(11):849--867, 2006. Google ScholarDigital Library
- J. Ge, H. Hu, Q. Gu, and J. Lu. Modeling Multi-View Software Process with Object Petri Nets. ICSEA 2006, 0:41, 2006. Google ScholarDigital Library
- V. Gruhn. Validation and verification of software process models. In Proc. of the Software development environments and CASE technology, pages 271--286, 1991. Google ScholarDigital Library
- J. A. Hurtado and M. C. Bastarrica. Tutelkán Implementation Process: Adapting a Reusable Reference Software Process in the Chilean Software Industry. Technical Report TR/DCC-2010-4, Computer Science Department, Universidad de Chile, June 2010.Google Scholar
- J. A. Hurtado, A. Bergel, and M. C. Bastarrica. Analyzing the Scrum Process Model with AVISPA. In Proceedings of the SCCC'2010, Antofagasta, Chile, November 2010. To Appear. Google ScholarDigital Library
- J. A. Hurtado, A. Lagos, A. Bergel, and M. C. Bastarrica. Software Process Model Blueprints. In Proceedings of the International Conference on Software Process, volume 6195 of LNCS, pages 273--284, July 2010. Google ScholarDigital Library
- ISO. /IEC 15504 : Information technology - software process assessment and improvement. Technical report, Int. Organization for Standardization, 1998.Google Scholar
- M. Lanza and S. Ducasse. Polymetric Views - A Lightweight Visual Approach to Reverse Engineering. Transactions on Software Engineering, 29(9):782--795, Sept. 2003. Google ScholarDigital Library
- B. Livshits and T. Zimmermann. Dynamine: finding common error patterns by mining software revision histories. SIGSOFT Softw. Eng. Notes, 30(5):296--305, 2005. Google ScholarDigital Library
- M. Lungu and M. Lanza. Softwarenaut: Exploring Hierarchical System Decompositions. In Proceedings of the 10th European Conference on Software Maintenance and Reengineering, pages 351--354, 2006. Google ScholarDigital Library
- M. Meyer, T. Gîrba, and M. Lungu. Mondrian: an agile information visualization framework. In Proceedings of the ACM 2006 Symposium on Software Visualization, SOFTVIS, pages 135--144. ACM, 2006. Google ScholarDigital Library
- OMG. Software Process Engineering Metamodel SPEM 2.0 OMG. Technical Report ptc/08-04-01, 2008. Object Managemente Group.Google Scholar
- L. J. Osterweil. Software Processes Are Software Too. In International Conference on Software Engineering, pages 2--13, 1987. Google ScholarDigital Library
- L. J. Osterweil and A. E. Wise. Using Process Definitions to Support Reasoning about Satisfaction of Process Requirements. In J. Münch, Y. Yang, and W. Schäfer, editors, ICSP, volume 6195 of LNCS, pages 2--13. Springer, 2010. Google ScholarDigital Library
- F. Perin, T. Gîrba, and O. Nierstrasz. Recovery and analysis of transaction scope from scattered information in Java enterprise applications. In Proceedings of International Conference on Software Maintenance 2010, Sept. 2010. Google ScholarDigital Library
- F. J. Pino, J. A. H. Alegria, J. C. Vidal, F. García, and M. Piattini. A process for driving process improvement in VSEs, international conference on software process, icsp 2009 vancouver, canada, may 16-17, 2009 proceedings. In ICSP, volume 5543 of Lecture Notes in Computer Science, pages 342--353. Springer, 2009. Google ScholarDigital Library
- SEI. CMMI for Development, Version 1.2. Technical Report Carnegie Mellon University/SEI-2006-TR-008, Software Engineering Institute, 2006.Google Scholar
- M. Soto, A. Ocampo, and J. Münch. Analyzing a software process model repository for understanding model evolution. In Proceedings of the International Conference on Software Process: Trustworthy Software Development Processes, ICSP '09, pages 377--388, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- G. Valdés, H. Astudillo, M. Visconti, and C. López. The Tutelkán SPI Framework for Small Settings: A Methodology Transfer Vehicle. In Proceedings of the 17th EuroSPI, volume 99, pages 142--152, Grenoble, France, September 2010. Communications in Computer and Information Science.Google ScholarCross Ref
- R. Villarroel, R. Fajardo, and O. Rodríguez. Implementation of an Improvement Cycle using the Competisoft Methodological Framework and the Tutelkán Platform. CLEI Electronic Journal, 13(1), April 2010.Google ScholarCross Ref
- R. Wettel, M. Lanza, and R. Robbes. Software systems as cities: A controlled experiment. In Proceedings of ICSE'11, 2011. to appear. Google ScholarDigital Library
- I.-C. Yoon, S.-Y. Min, and D.-H. Bae. Tailoring and Verifying Software Process. In 8th Asia-Pacific Software Engineering Conference (APSEC 2001), pages 202--209, Macau, China, 2001. Google ScholarDigital Library
Index Terms
- Analyzing software process models with AVISPA
Recommendations
Software Process Models and Project Performance
In this paper we review the progress in software process research and the role of process improvement in enhancing business outcomes of software projects. We first describe the process view of software development. Next, we review the literature on ...
Domain Modeling of Software Process Models
ICECCS '00: Proceedings of the 6th IEEE International Conference on Complex Computer SystemsAbstract: The paper presents a novel application involving two important software engineering research areas: process modeling and software reuse. The Spiral Model is a risk-driven process model, which, depending on the specific risks associated with a ...
Reuse sensitive process models: are process elements software assets too?
ISPW '96: Proceedings of the 10th International Software Process WorkshopIt is well recognised that development with reuse, or reuse-sensitive software process, contribute to software quality improvement. Reusability is one of the software quality factors and represents an appropriate solution for the development of complex ...
Comments