Abstract
As required or implicated in many process improvement or assessment models, Process Quality Assurance (PQA) is introduced to objectively evaluate actual software processes against applicable processes descriptions, standards, and procedures and to identify potential noncompliance. In a Distributed Software Development (DSD) environment, PQA is also an absolute necessity to ensure that each development site behaves as expected and high quality software is collaboratively developed. However, several problems brought by the distribution nature of DSD, such as different interpretations of standard processes among development sites, inconsistent criteria for identifying noncompliance, visibility into development activities of all sites being challenging, hidden conflicts or noncompliance for political issues within a site, substantial investment in setting up PQA teams in each site etc., can undermine the objectivity and effectiveness of PQA activities. To alleviate these problems, we introduce an approach in this paper that automates PQA activities for some routine checking tasks in a DSD environment. In the approach, a process model describing the actual software process is automatically built from each site’s repository and, then, the model is checked against logic formulae derived from a common checklist to detect noncompliance. Experiment results show that the approach is helpful to ensure that PQA activities in each site can be conducted according to the same guideline and the objectivity of PQA results is guaranteed.
Supported by the National Natural Science Foundation of China under grant Nos. 60573082, 60473060, 90718042 and the Hi-Tech Research and Development Program (863 Program) of China under grant No.2006AA01Z185, 2007AA010303, as well as the National Basic Research Program (973 Program) of China under grant No. 2007CB310802.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Chrissis, M.B., Konrad, M., Shrum, S.: CMMI®: Guidelines for Process Integration and Product Improvement. Addison Wesley Professional, Reading (2003)
Schmauch, C.H.: ISO 9000 for Software Developers. ASQC Quality Press (1994)
Bradfield, J., Stirling, C.: Modal logics and μ-calculi: an introduction. In: Bergstra, J., Ponse, A., Smolka, S. (eds.) Handbook of Process Algebra, pp. 293–330. Elsevier, Amsterdam (2001)
Sommerville, I.: Software Engineering, 7th edn. Addison Wesley, Reading (2004)
Rai, A., Song, H., Troutt, M.: Software quality assurance: An analytical survey and research prioritization. Journal of Systems and Software 40, 67–83 (1998)
Memon, A., Porter, A., Yilmaz, C., Nagarajan, A., Schmidt, D., Natarajan, B.: Skoll: Distributed continuous quality assurance. In: The 26th IEEE/ACM International Conference on Software Engineering, pp. 459–468 (2004)
Ramasubbu, N., Balan, R.K.: Globally distributed software development project performance: an empirical analysis. In: The 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp. 125–134. ACM, New York (2007)
Gopal, A., Mukhopadhyay, T., Krishnan, M.S.: The role of software processes and communication in offshore software development. Communications of the ACM 45, 193–200 (2002)
Reis, C.R., de Mattos Fortes, R.P.: An overview of the software engineering process and tools in the mozilla project. In: The Open Source Software Development Workshop, pp. 155–175 (2002)
Zhao, L., Elbaum, S.: A survey on quality related activities in open source. ACM SIGSOFT Software Engineering Notes 25, 54–57 (2000)
Becker, S., Jäger, D., Schleicher, A., Westfechtel, B.: A delegation based model for distributed software process management. In: Ambriola, V. (ed.) EWSPT 2001. LNCS, vol. 2077, pp. 130–144. Springer, Heidelberg (2001)
Vanzin, M., Ribeiro, M.B., Prikladnicki, R., Ceccato, I., Antunes, D.: Global software processes definition in a distributed environment. In: SEW 2005: Proceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop, Washington, DC, USA, pp. 57–65. IEEE Computer Society, Los Alamitos (2005)
Cook, J., Wolf, A.: Discovering models of software processes from event-based data. ACM Transactions on Software Engineering and Methodology 7, 215–249 (1998)
Cook, J.E., Du, Z.: Discovering thread interactions in a concurrent system. Journal of Systems and Software 77, 285–297 (2005)
Cook, J.E., Du, Z., Liu, C., Wolf, A.L.: Discovering models of behavior for concurrent workflows. Computers in Industry 53, 297–319 (2004)
van der Aalst, W., Weijters, A., Maruster, L.: Workflow mining: Discovering process models from event logs. IEEE Transactions on Knowledge and Data Engineering 16, 1128–1142 (2004)
Weijters, A., van der Aalst, W.: Rediscovering workflow models from event-based data using little thumb. Integrated Computer-Aided Engineering 10, 151–162 (2003)
Cook, J., Wolf, A.: Software process validation: Quantitatively measuring the correspondence of a process to a model. ACM Transactions on Software Engineering and Methodology 8, 147–176 (1999)
Rozinat, A., van der Aalst, W.: Conformance testing: Measuring the fit and appropriateness of event logs and process models. In: Bussler, C.J., Haller, A. (eds.) BPM 2005. LNCS, vol. 3812, pp. 163–176. Springer, Heidelberg (2006)
van der Aalst, W., de Beer, H., van Dongen, B.: Process mining and verification of properties: An approach based on temporal logic. In: Meersman, R., Tari, Z. (eds.) OTM 2005. LNCS, vol. 3760, pp. 130–147. Springer, Heidelberg (2005)
Cheung, S.C., Kramer, J.: Checking safety properties using compositional reachability analysis. ACM Transactions on Software Engineering and Methodology 8, 49–78 (1999)
Pezze, M., Taylor, R., Young, M.: Graph models for reachability analysis of concurrent programs. ACM Transactions on Software Engineering and Methodology 4, 171–213 (1995)
Yang, Q., Li, M., Wang, Q., Yang, G., Zhai, J., Li, J., Hou, L., Yang, Y.: An algebraic approach for managing inconsistencies in software processes. In: Wang, Q., Pfahl, D., Raffo, D.M. (eds.) ICSP 2007. LNCS, vol. 4470, pp. 121–133. Springer, Heidelberg (2007)
Li, M.: Expanding the horizons of software development processes: A 3-D integrated methodology. In: Li, M., Boehm, B., Osterweil, L.J. (eds.) SPW 2005. LNCS, vol. 3840, pp. 54–67. Springer, Heidelberg (2006)
Li, M.: Assessing 3-D integrated software development processes: A new benchmark. In: Wang, Q., Pfahl, D., Raffo, D.M., Wernick, P. (eds.) SPW 2006 and ProSim 2006. LNCS, vol. 3966, pp. 15–38. Springer, Heidelberg (2006)
Wang, Q., Li, M.: Measuring and improving software process in china. In: Proceedings of the 4th International Symposium on Empirical Software Engineering, pp. 183–192 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhai, J., Yang, Q., Yang, Y., Xiao, J., Wang, Q., Li, M. (2009). Automated Process Quality Assurance for Distributed Software Development. In: Berkling, K., Joseph, M., Meyer, B., Nordio, M. (eds) Software Engineering Approaches for Offshore and Outsourced Development. SEAFOOD 2008. Lecture Notes in Business Information Processing, vol 16. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01856-5_14
Download citation
DOI: https://doi.org/10.1007/978-3-642-01856-5_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-01855-8
Online ISBN: 978-3-642-01856-5
eBook Packages: Computer ScienceComputer Science (R0)