- About this Journal
- Abstracting and Indexing
- Aims and Scope
- Article Processing Charges
- Articles in Press
- Author Guidelines
- Bibliographic Information
- Citations to this Journal
- Contact Information
- Editorial Board
- Editorial Workflow
- Free eTOC Alerts
- Publication Ethics
- Reviewers Acknowledgment
- Submit a Manuscript
- Subscription Information
- Table of Contents
Advances in Software Engineering
Volume 2012 (2012), Article ID 628571, 18 pages
Combining Slicing and Constraint Solving for Better Debugging: The CONBAS Approach
Institute for Software Technology, Graz University of Technology, 8010 Graz, Austria
Received 1 June 2012; Accepted 17 August 2012
Academic Editor: Zhenyu Zhang
Copyright © 2012 Birgit Hofer and Franz Wotawa. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
- B. Hofer and F. Wotawa, “Reducing the size of dynamic slicing with constraint solving,” in Proceedings of the 12th International Conference on Quality Software, 2012.
- M. J. Harrold, G. Rothermel, R. Wu, and L. Yi, “An empirical investigation of program spectra,” in Proceedings of the Workshop on Program Analysis for Software Tools and Engineering, pp. 83–90, ACM, New York, NY, USA, 1998.
- R. Abreu, P. Zoeteweij, R. Golsteijn, and A. J. C. van Gemund, “A practical evaluation of spectrum-based fault localization,” Journal of Systems and Software, vol. 82, no. 11, pp. 1780–1792, 2009.
- P. Zoeteweij, R. Abreu, R. Golsteijn, and A. J. C. Van Gemund, “Diagnosis of embedded software using program spectra,” in Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS '07), pp. 213–220, March 2007.
- J. A. Jones and M. J. Harrold, “Empirical evaluation of the tarantula automatic fault-localization technique,” in Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE '05), pp. 273–282, ACM Press, November 2005.
- R. Abreu, P. Zoeteweij, and A. J. C. Van Gemund, “An evaluation of similarity coefficients for software fault localization,” in Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing (PRDC '06), pp. 39–46, Washington, DC, USA, December 2006.
- R. Abreu and A. J. C. Van Gemund, “Diagnosing multiple intermittent failures using maximum likelihood estimation,” Artificial Intelligence, vol. 174, no. 18, pp. 1481–1497, 2010.
- R. Abreu, W. Mayer, M. Stumptner, and A. J. C. Van Gemund, “Refining spectrum-based fault localization rankings,” in Proceedings of the 24th Annual ACM Symposium on Applied Computing (SAC '09), pp. 409–414, Honolulu, Hawaii, USA, March 2009.
- A. Zeller and R. Hildebrandt, “Simplifying and isolating failure-inducing input,” IEEE Transactions on Software Engineering, vol. 28, no. 2, pp. 183–200, 2002.
- H. Cleve and A. Zeller, “Locating causes of program failures,” in Proceedings of the 27th International Conference on Software Engineering (ICSE '05), pp. 342–351, ACM Press, New York, NY, USA, May 2005.
- A. Zeller, “Isolating cause-effect chains from computer programs,” in Proceedings of the 10th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 1–10, November 2002.
- M. Weiser, “Programmers use slices when debugging,” Communications of the ACM, vol. 25, no. 7, pp. 446–452, 1982.
- W. Mayer and M. Stumptner, “Model-based debugging—state of the art and future challenges,” Electronic Notes in Theoretical Computer Science, vol. 174, no. 4, pp. 61–82, 2007.
- A. Arcuri, “On the automation of fixing software bugs,” in Proceedings of the 30th International Conference on Software Engineering (ICSE '08), pp. 1003–1006, New York, NY, USA, May 2008.
- W. Weimer, S. Forrest, C. Le Goues, and T. Nguyen, “Automatic program repair with evolutionary computation,” Communications of the ACM, vol. 53, no. 5, pp. 109–116, 2010.
- W. Weimer, T. Nguyen, C. Le Goues, and S. Forrest, “Automatically finding patches using genetic programming,” in Proceedings of the 31st International Conference on Software Engineering (ICSE '09), pp. 364–374, May 2009.
- B. Korel and J. Laski, “Dynamic program slicing,” Information Processing Letters, vol. 29, no. 3, pp. 155–163, 1988.
- X. Zhang, H. He, N. Gupta, and R. Gupta, “Experimental evaluation of using dynamic slices for fault location,” in Proceedings of the 6th International Symposium on Automated and Analysis-Driven Debugging (AADEBUG '05), pp. 33–42, September 2005.
- X. Zhang, S. Tallam, N. Gupta, and R. Gupta, “Towards locating execution omission errors,” ACM SIGPLAN Notices, vol. 42, no. 6, pp. 415–424, 2007.
- M. Sridharan, S. J. Fink, and R. Bodik, “Thin slicing,” in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '07 ), pp. 112–122, ACM, San Diego, Calif, USA, June 2007.
- N. Gupta, H. He, X. Zhang, and R. Gupta, “Locating faulty code using failure-inducing chops,” in Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE '05), pp. 263–272, New York, NY, USA, November 2005.
- X. Zhang, N. Gupta, and R. Gupta, “Pruning dynamic slices with confidence,” ACM SIGPLAN Notices, vol. 41, no. 6, pp. 169–180, 2006.
- X. Zhang, N. Gupta, and R. Gupta, “A study of effectiveness of dynamic slicing in locating real faults,” Empirical Software Engineering, vol. 12, no. 2, pp. 143–160, 2007.
- X. Zhang, R. Gupta, and Y. Zhang, “Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams,” in Proceedings of the 26th International Conference on Software Engineering (ICSE '04), pp. 502–511, Los Alamitos, Calif, USA, May 2004.
- X. Zhang, S. Tallam, and R. Gupta, “Dynamic slicing long running programs through execution fast forwarding,” in Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT '06), pp. 81–91, New York, NY, USA, November 2006.
- D. Jeffrey, N. Gupta, and R. Gupta, “Fault localization using value replacement,” in Proceedings of the International Symposium on Software Testing and Analysis (ISSTA '08), pp. 167–177, ACM, New York, NY, USA, July 2008.
- F. Tip, “A survey of program slicing techniques,” Journal of Programming Languages, vol. 3, no. 3, pp. 121–189, 1995.
- B. Korel and J. Rilling, “Dynamic program slicing methods,” Information and Software Technology, vol. 40, no. 11-12, pp. 647–659, 1998.
- R. Reiter, “A theory of diagnosis from first principles,” Artificial Intelligence, vol. 32, no. 1, pp. 57–95, 1987.
- F. Wotawa, “On the relationship between model-based debugging and program slicing,” Artificial Intelligence, vol. 135, no. 1-2, pp. 125–143, 2002.
- M. Nica, S. Nica, and F. Wotawa, “On the use of mutations and testing for debugging,” Software—Practice and Experience. In press.
- F. Wotawa, M. Nica, and I. Moraru, “Automated debugging based on a constraint model of the program and a test case,” Journal of Logic and Algebraic Programming, vol. 81, no. 4, pp. 390–407, 2012.
- W. Mayer, Static and hybrid analysis in model-based debugging [Ph.D. thesis], School of Computer and Information Science, University of South Australia, 2007.
- W. Mayer, R. Abreu, M. Stumptner, and J. C. A. van Gemund, “Prioritising model-based debugging diagnostic reports (DX),” in Proceedings of the International Workshop on Principles of Diagnosis, pp. 127–134, 2008.
- F. Wotawa and M. Nica, “On the compilation of programs into their equivalent constraint representation,” Informatica, vol. 32, no. 4, pp. 359–371, 2008.
- B. Beizer, Software Testing Techniques, Van Nostrand Reinhold, New York, NY, USA, 2nd edition, 1990.
- L. Console, D. T. Dupre, and P. Torasso, “On the relationship between abduction and deduction,” Journal of Logic and Computation, vol. 1, no. 5, pp. 661–690, 1991.
- J. de Kleer, A. K. Mackworth, and R. Reiter, “Characterizing diagnoses and systems,” Artificial Intelligence, vol. 56, no. 2-3, pp. 197–222, 1992.
- M. M. Brandis and H. Mossenbock, “Single-pass generation of static single-assignment form for structured languages,” ACM Transactions on Programming Languages and Systems, vol. 16, no. 6, pp. 1684–1698, 1994.
- R. Dechter, Constraint Processing, Elsevier Morgan Kaufmann, 2003.
- R. Greiner, B. A. Smith, and R. W. Wilkerson, “A correction to the algorithm in reiter's theory of diagnosis,” Artificial Intelligence, vol. 41, no. 1, pp. 79–88, 1989.
- I. P. Gent, C. Jefferson, and I. Miguel, “Minion: a fast, scalable, constraint solver,” in Proceedings of the 17th European Conference on Artificial Intelligence (ECAI '06), pp. 98–102, Riva del Garda, Italy, August 2006.
- F. Brglez and H. Fujiwara, “A neutral netlist of 10 combinational benchmark circuits and a target translator in fortran,” in Proceedings of the IEEE International Symposium on Circuits and Systems, pp. 663–698, June 1985.
- C. Parnin and A. Orso, “Are automated debugging techniques actually helping programmers?” in Proceedings of the 20th International Symposium on Software Testing and Analysis (ISSTA '11), pp. 199–209, ACM, New York, NY, USA, 2011.
- a. González-Sanchez, R. Abreu, H.-G. Hans-Gerhard Gross, and A. van Gemund, “Prioritizing tests for fault localization through ambiguity group reduction,” in Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE '11), pp. 83–92, IEEE Computer Society, Washington, DC, USA.