Abstract
The problem of model/program repair focuses on revising an existing model/program to satisfy new properties. These properties can be safety, liveness, availability, or fault-tolerance requirements. Existing solutions focus on adding compatible properties, i.e., properties that can be satisfied while preserving the existing properties. In other words, they try to generate programs that satisfy the existing properties as well as the new desired properties. It follows that if one were to add a conflicting property, i.e., a property that cannot be satisfied while preserving existing properties, then the previous solutions declare failure to obtain the desired program. However, adding conflicting properties arises when one replaces an existing requirement with another– e.g., replacing fairness requirement with priority to some process. In this paper, we focus on the problem of adding conflicting properties. We present an algorithm for explicit addition of properties that adds new desired properties while preserving only an explicitly specified subset of existing properties. In turn, we use it to develop an algorithm for adding conflicting properties. We illustrate our algorithms with an example of job scheduling.
This work is supported by NSF CNS 1329807, NSF CNS 1318678, and XPS 1533802.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Another variation of this problem considered in the literature is one where \(I_{p'} \subseteq I_p\) and \(I_{p'} \ne \emptyset \). Our results can be extended for these cases as well. However, this issue is outside the scope of the paper.
- 2.
We have considered this trivial specification only to illustrate the constraint E4. A non-trivial specification is considered in Sect. 6.2.
References
Alpern, B., Schneider, F.B.: Defining liveness. Inf. Process. Lett. 21, 181–185 (1985)
Bonakdarpour, B., Ebnenasir, A., Kulkarni, S.S.: Complexity results in revising UNITY programs. ACM Trans. Auton. Adapt. Syst. (TAAS) 4(1), 1–28 (2009)
Bonakdarpour, B., Kulkarni, S.S., Abujarad, F.: Symbolic synthesis of masking fault-tolerant programs. Springer J. Distrib. Comput. (DC) 25(1), 83–108 (2012)
Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley, Reading (1988)
Chatzieleftheriou, G., Bonakdarpour, B., Katsaros, P., Smolka, S.A.: Abstract model repair. Logical Methods in Computer Science 11(3) (2015)
Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2(3), 241–266 (1982)
Faghih, F., Bonakdarpour, B.: SMT-based synthesis of distributed self-stabilizing systems. TAAS 10(3), 21 (2015)
Finkbeiner, B., Schewe, S.: Bounded synthesis. Int. J. Softw. Tools Technol. Transfer 15(5), 519–539 (2012)
Jobstmann, B., Griesmayer, A., Bloem, R.: Program repair as a game. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 226–238. Springer, Heidelberg (2005). doi:10.1007/11513988_23
Lin, Y., Kulkarni, S.S.: Automatic generation of graceful programs. In: IEEE 31st Symposium on Reliable Distributed Systems, SRDS, Irvine, CA, USA, pp. 225–230 (2012)
Murugesan, A., Whalen, M.W., Ghassabani, E., Heimdahl, M.P.E.: Complete traceability for requirements in satisfaction arguments. In: Proceedings of the International Conference on Requirements Engineering, Beijing, China September 2016
Peterson, G.L.: Myths about the mutual exclusion problem. Inf. Process. Lett. 12(3), 115–116 (1981)
Roohitavaf, M., Kulkarni, S.: Stabilization and fault-tolerance in presence of unchangeable environment actions. In: Proceedings of the 17th International Conference on Distributed Computing, Networking (ICDCN 2016), New York, NY, USA, pp. 19:1–19:10 (2016)
Roohitavaf, M., Lin, Y., Kulkarni, S.S.: Lazy repair for addition of fault-tolerance to distributed programs. In: 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS), IL, USA, Chicago, pp. 1071–1080, May 2016
Samanta, R., Deshmukh, J.V., Emerson, E.A.: Automatic generation of local repairs for boolean programs. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 1–10 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Roohitavaf, M., Kulkarni, S.S. (2016). Automatic Addition of Conflicting Properties. In: Bonakdarpour, B., Petit, F. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2016. Lecture Notes in Computer Science(), vol 10083. Springer, Cham. https://doi.org/10.1007/978-3-319-49259-9_25
Download citation
DOI: https://doi.org/10.1007/978-3-319-49259-9_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49258-2
Online ISBN: 978-3-319-49259-9
eBook Packages: Computer ScienceComputer Science (R0)