Skip to main content

2016 | OriginalPaper | Buchkapitel

Improving Efficiency and Accuracy of Formula-Based Debugging

verfasst von : Wei Jin, Alessandro Orso

Erschienen in: Hardware and Software: Verification and Testing

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Formula-based debugging techniques are extremely appealing, as they provide a principled way to identify potentially faulty statements together with information that can help fix such statements. These approaches are however computationally expensive, which limits their practical applicability. Moreover, they tend to focus on failing test cases and ignore the information provided by passing tests. To mitigate these issues, we propose on-demand formula computation (OFC) and clause weighting (CW). OFC improves the overall efficiency of formula-based debugging by exploring all and only the parts of a program that are relevant to a failure. CW improves the accuracy of formula-based debugging by leveraging statistical fault-localization information that accounts for passing tests. Although OFC and CW are only a first step towards making formula-based debugging more applicable, our empirical results show that they are effective and improve the state of the art.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
3.
Zurück zum Zitat Abreu, R., Zoeteweij, P., Gemund, A.J.C.V.: An evaluation of similarity coefficients for software fault localization. In: Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing, pp. 39–46 (2006) Abreu, R., Zoeteweij, P., Gemund, A.J.C.V.: An evaluation of similarity coefficients for software fault localization. In: Proceedings of the 12th Pacific Rim International Symposium on Dependable Computing, pp. 39–46 (2006)
4.
Zurück zum Zitat Agrawal, H., Horgan, J.R.: Dynamic program slicing. In: Proceedings of the 1990 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 246–256 (1990) Agrawal, H., Horgan, J.R.: Dynamic program slicing. In: Proceedings of the 1990 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 246–256 (1990)
5.
Zurück zum Zitat Artzi, S., Dolby, J., Tip, F., Pistoia, M.: Directed test generation for effective fault localization. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, pp. 49–60 (2010) Artzi, S., Dolby, J., Tip, F., Pistoia, M.: Directed test generation for effective fault localization. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, pp. 49–60 (2010)
6.
Zurück zum Zitat Chandra, S., Torlak, E., Barman, S., Bodik, R.: Angelic debugging. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 121–130 (2011) Chandra, S., Torlak, E., Barman, S., Bodik, R.: Angelic debugging. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 121–130 (2011)
7.
Zurück zum Zitat Christ, J., Ermis, E., Schäf, M., Wies, T.: Flow-sensitive fault localization. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 189–208. Springer, Heidelberg (2013). doi:10.1007/978-3-642-35873-9_13 CrossRef Christ, J., Ermis, E., Schäf, M., Wies, T.: Flow-sensitive fault localization. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 189–208. Springer, Heidelberg (2013). doi:10.​1007/​978-3-642-35873-9_​13 CrossRef
9.
Zurück zum Zitat Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)CrossRef Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)CrossRef
10.
Zurück zum Zitat Dallmeier, V., Zeller, A., Meyer, B.: Generating fixes from object behavior anomalies. In: Proceedings of the 24th IEEE International Conference on Automated Software Engineering, pp. 550–554. IEEE Computer Society (2009) Dallmeier, V., Zeller, A., Meyer, B.: Generating fixes from object behavior anomalies. In: Proceedings of the 24th IEEE International Conference on Automated Software Engineering, pp. 550–554. IEEE Computer Society (2009)
12.
Zurück zum Zitat Jeffrey, D., Feng, M., Gupta, N., Gupta, R.: BugFix: a learning-based tool to assist developers in fixing bugs. In: Proceedings of the 17th International Conference on Program Comprehension, pp. 70–79 (2009) Jeffrey, D., Feng, M., Gupta, N., Gupta, R.: BugFix: a learning-based tool to assist developers in fixing bugs. In: Proceedings of the 17th International Conference on Program Comprehension, pp. 70–79 (2009)
14.
Zurück zum Zitat Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proceedings of the 24th International Conference on Software Engineering, pp. 467–477 (2002) Jones, J.A., Harrold, M.J., Stasko, J.: Visualization of test information to assist fault localization. In: Proceedings of the 24th International Conference on Software Engineering, pp. 467–477 (2002)
15.
Zurück zum Zitat Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. In: Proceedings of the 2011 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 437–446 (2011) Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. In: Proceedings of the 2011 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 437–446 (2011)
16.
Zurück zum Zitat Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: GenProg: a generic method for automatic software repair. IEEE Trans. Softw. Eng. 38(1), 54–72 (2012)CrossRef Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: GenProg: a generic method for automatic software repair. IEEE Trans. Softw. Eng. 38(1), 54–72 (2012)CrossRef
17.
Zurück zum Zitat Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 141–154 (2003) Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 141–154 (2003)
18.
Zurück zum Zitat Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol. 20(3), 11:1–11:32 (2011)CrossRef Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol. 20(3), 11:1–11:32 (2011)CrossRef
19.
Zurück zum Zitat Parnin, C., Orso, A.: Are automated debugging techniques actually helping programmers? In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, Toronto, Canada, pp. 199–209, July 2011 Parnin, C., Orso, A.: Are automated debugging techniques actually helping programmers? In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, Toronto, Canada, pp. 199–209, July 2011
20.
Zurück zum Zitat Roychoudhury, A., Chandra, S.: Formula-based software debugging. Commun. ACM 59(7), 68–77 (2016)CrossRef Roychoudhury, A., Chandra, S.: Formula-based software debugging. Commun. ACM 59(7), 68–77 (2016)CrossRef
21.
Zurück zum Zitat Torlak, E., Vaziri, M., Dolby, J.: MemSAT: checking axiomatic specifications of memory models. In: Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 341–350 (2010) Torlak, E., Vaziri, M., Dolby, J.: MemSAT: checking axiomatic specifications of memory models. In: Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 341–350 (2010)
22.
Zurück zum Zitat Tsankov, P., Jin, W., Orso, A., Sinha, S.: Execution hijacking: improving dynamic analysis by flying off course. In: Proceedings of the 4th International Conference on Software Testing, pp. 200–209. IEEE (2011) Tsankov, P., Jin, W., Orso, A., Sinha, S.: Execution hijacking: improving dynamic analysis by flying off course. In: Proceedings of the 4th International Conference on Software Testing, pp. 200–209. IEEE (2011)
23.
Zurück zum Zitat Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449 (1981) Weiser, M.: Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp. 439–449 (1981)
24.
Zurück zum Zitat Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Trans. Softw. Eng. 28(2), 183–200 (2002)CrossRef Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Trans. Softw. Eng. 28(2), 183–200 (2002)CrossRef
25.
Zurück zum Zitat Zhang, Z., Chan, W.K., Tse, T.H., Jiang, B., Wang, X.: Capturing propagation of infected program states. In: The 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 43–52 (2009) Zhang, Z., Chan, W.K., Tse, T.H., Jiang, B., Wang, X.: Capturing propagation of infected program states. In: The 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 43–52 (2009)
Metadaten
Titel
Improving Efficiency and Accuracy of Formula-Based Debugging
verfasst von
Wei Jin
Alessandro Orso
Copyright-Jahr
2016
DOI
https://doi.org/10.1007/978-3-319-49052-6_7

Premium Partner