Detail publikace

SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing

KŘENA, B., LETKO, Z., TZOREF, R., UR, S., VOJNAR, T.

Originální název

SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing

Anglický název

SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing

Jazyk

en

Originální abstrakt

General self-healing methodology consists of four steps---problem detection, problem localization, problem healing, and healing assurance. In this report, we describe how we have adopted this general self-healing methodology for the concurrency code fixing. We show how to improve testing of concurrency code by the tool ConTest. The ConTest allows us to monitor concurrent Java programs and to increase the probability of a bug revealing by a noise injection. On the top of the ConTest, we have developed a specialized tool for detection and localization of data races (data races are common and hard to find type of concurrency bugs). We have also proposed a method for pinpointing a cause of a concurrent bug by statistical evaluation of a large number of tests. Based on typical concurrency bugs, we have identified suitable healing actions. Finally, we have discussed requirements, problems, and possibilities of assurance of self-healing actions. For healing assurance, we aim to exploit formal methods like model checking and static analysis.

Anglický abstrakt

General self-healing methodology consists of four steps---problem detection, problem localization, problem healing, and healing assurance. In this report, we describe how we have adopted this general self-healing methodology for the concurrency code fixing. We show how to improve testing of concurrency code by the tool ConTest. The ConTest allows us to monitor concurrent Java programs and to increase the probability of a bug revealing by a noise injection. On the top of the ConTest, we have developed a specialized tool for detection and localization of data races (data races are common and hard to find type of concurrency bugs). We have also proposed a method for pinpointing a cause of a concurrent bug by statistical evaluation of a large number of tests. Based on typical concurrency bugs, we have identified suitable healing actions. Finally, we have discussed requirements, problems, and possibilities of assurance of self-healing actions. For healing assurance, we aim to exploit formal methods like model checking and static analysis.

Dokumenty

BibTex


@techreport{BUT57726,
  author="Bohuslav {Křena} and Zdeněk {Letko} and Rachel {Tzoref} and Shmuel {Ur} and Tomáš {Vojnar}",
  title="SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing",
  annote="General self-healing methodology consists of four steps---problem detection, problem localization, problem healing, and healing assurance. In this report, we describe how we have adopted this general self-healing methodology for the concurrency code fixing. We show how to improve testing of concurrency code by the tool ConTest. The ConTest allows us to monitor concurrent Java programs and to increase the probability of a bug revealing by a noise injection. On the top of the ConTest, we have developed a specialized tool for detection and localization of data races (data races are common and hard to find type of concurrency bugs). We have also proposed a method for pinpointing a cause of a concurrent bug by statistical evaluation of a large number of tests. Based on typical concurrency bugs, we have identified suitable healing actions. Finally, we have discussed requirements, problems, and possibilities of assurance of self-healing actions. For healing assurance, we aim to exploit formal methods like model checking and static analysis.",
  address="European Comission",
  chapter="57726",
  institution="European Comission",
  year="2007",
  month="february",
  publisher="European Comission",
  type="report"
}