On the correctness of a branch displacement algorithm

Book chapter


Boender, J. and Sacerdoti Coen, C. 2014. On the correctness of a branch displacement algorithm. in: Ábrahám, E. and Havelund, K. (ed.) Tools and Algorithms for the Construction and Analysis of Systems : 20th International Conference, TACAS 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014. Proceedings Springer.
Chapter titleOn the correctness of a branch displacement algorithm
AuthorsBoender, J. and Sacerdoti Coen, C.
Abstract

The branch displacement problem is a well-known problem in assembler design. It revolves around the feature, present in several processor families, of having different instructions, of different sizes, for jumps of different displacements. The problem, which is provably NP-hard, is then to select the instructions such that one ends up with the smallest possible program.
During our research with the CerCo project on formally verifying a C compiler, we have implemented and proven correct an algorithm for this problem. In this paper, we discuss the problem, possible solutions, our specific solutions and the proofs.

Keywordsformal verification; interactive theorem proving; assembler; branch displacement optimisation
Research GroupArtificial Intelligence group
Foundations of Computing group
Book titleTools and Algorithms for the Construction and Analysis of Systems : 20th International Conference, TACAS 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014. Proceedings
EditorsÁbrahám, E. and Havelund, K.
PublisherSpringer
SeriesLecture Notes in Computer Science
ISBN
Hardcover9783642548611
ISSN0302-9743
Publication dates
Print24 Mar 2014
Publication process dates
Deposited05 Sep 2014
Output statusPublished
Accepted author manuscript
Copyright Statement

Archiving permitted by publisher but embargoed for 12 months from date of publication.

Digital Object Identifier (DOI)https://doi.org/10.1007/978-3-642-54862-8_53
LanguageEnglish
JournalLecture Notes in Computer Science
Permalink -

https://repository.mdx.ac.uk/item/84x2w

Download files


Accepted author manuscript
  • 31
    total views
  • 7
    total downloads
  • 0
    views this month
  • 0
    downloads this month

Export as

Related outputs

Describing and simulating concurrent quantum systems
Bornat, R., Boender, J., Kammueller, F., Poly, G. and Nagarajan, R. 2020. Describing and simulating concurrent quantum systems. Biere, A. and Parker, D. (ed.) International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 20). Dublin 27 - 30 Apr 2020 Springer. pp. 271-277 https://doi.org/10.1007/978-3-030-45237-7_16
Negative trust for conflict resolution in software management
Primiero, G. and Boender, J. 2018. Negative trust for conflict resolution in software management. Web Intelligence. 16 (4), pp. 251-271. https://doi.org/10.3233/web-180393
MIRTO: an open-source robotic platform for education
Androutsopoulos, K., Aristodemou, L., Boender, J., Bottone, M., Currie, E., El-Aroussi, I., Fields, B., Gheri, L., Gorogiannis, N., Heeney, M., Micheletti, M., Loomes, M., Margolis, M., Petridis, M., Piermarteri, A., Primiero, G., Raimondi, F. and Weldin, N. 2018. MIRTO: an open-source robotic platform for education. 3rd European Conference on Software Engineering Education. Seeon, Germany 14 - 15 Jun 2018 Association for Computing Machinery (ACM). pp. 55-62 https://doi.org/10.1145/3209087.3209106
Managing software uninstall with negative trust
Primiero, G. and Boender, J. 2017. Managing software uninstall with negative trust. 11th IFIP WG 11.11 International Conference, IFIPTM 2017. Gothenburg, Sweden 12 - 16 Jun 2017 Springer. pp. 79-93 https://doi.org/10.1007/978-3-319-59171-1_7
Minimizing transitive trust threats in software management systems
Boender, J., Primiero, G. and Raimondi, F. 2015. Minimizing transitive trust threats in software management systems. 13th Annual Conference on Privacy, Security and Trust (PST 2015). Izmir, Turkey 21 - 23 Jul 2015 Institute of Electrical and Electronics Engineers (IEEE). pp. 191-198 https://doi.org/10.1109/PST.2015.7232973
Teaching functional patterns through robotic applications
Boender, J., Currie, E., Loomes, M., Primiero, G. and Raimondi, F. 2016. Teaching functional patterns through robotic applications. The 4th International Workshop on Trends in Functional Programming in Education, TFPIE 2015. Sophia-Antipolis, France 02 Jun 2015 Open Publishing Association. pp. 17-29 https://doi.org/10.4204/EPTCS.230.2
Formalization of quantum protocols using Coq
Boender, J., Kammueller, F. and Nagarajan, R. 2015. Formalization of quantum protocols using Coq. The 12th International Workshop on Quantum Physics and Logic (QPL 2015). Oxford, United Kingdom 15 - 17 Jul 2015 pp. 71-83
Formal verification of a theory of packages
Boender, J. 2011. Formal verification of a theory of packages. ECEASST. 48.
Certified Complexity (CerCo)
Amadio, R., Ayache, N., Bobot, F., Boender, J., Campbell, B., Garnier, I., Madet, A., McKinna, J., Mulligan, D., Piccolo, M., Pollack, R., Régis-Gianas, Y., Sacerdoti Coen, C., Stark, I. and Tranquilli, P. 2014. Certified Complexity (CerCo). Third International Workshop on Foundational and Practical Aspects of Resource Analysis (FOPARA 2013). Bertinoro, Italy 29 - 31 Aug 2013 https://doi.org/10.1007/978-3-319-12466-7_1
Verification of quantum protocols using Coq
Boender, J., Kammueller, F. and Nagarajan, R. 2014. Verification of quantum protocols using Coq. 17th Conference on Quantum Information Processing (QIP). Barcelona, Spain 03 - 07 Feb 2014
Modeling human behaviour with higher order logic: insider threats
Boender, J., Kammueller, F., Ivanova, M. and Primiero, G. 2014. Modeling human behaviour with higher order logic: insider threats. 4th Workshop on Socio-Technical Aspects in Security and Trust. Vienna Technical University, Vienna, Austria 18 Jul 2014 Institute of Electrical and Electronics Engineers (IEEE). pp. 31-39
Modeling human behaviour with higher order logic: insider threats
Boender, J., Ivanova, M., Kammueller, F. and Primiero, G. 2014. Modeling human behaviour with higher order logic: insider threats. 4th Workshop on Socio-Technical Aspects in Security and Trust (STAST 2014). Vienna, Austria 18 Jul 2014 Institute of Electrical and Electronics Engineers. pp. 31-39 https://doi.org/10.1109/STAST.2014.13
Managing the complexity of large free and open source package-based software distributions
Mancinelli, F., Boender, J., Di Cosmo, R., Vouillon, J., Durak, B., Leroy, X. and Treinen, R. 2006. Managing the complexity of large free and open source package-based software distributions. Automated Software Engineering, 2006. ASE '06. 21st IEEE/ACM International Conference on. https://doi.org/10.1109/ASE.2006.49
Small world characteristics of FLOSS distributions
Boender, J. and Fernandes, S. 2014. Small world characteristics of FLOSS distributions. in: Counsell, S. and Núñez, M. (ed.) Software Engineering and Formal Methods : SEFM 2013 Collocated Workshops: BEAT2, WS-FMDS, FM-RAIL-Bok, MoKMaSD, and OpenCert, Madrid, Spain, September 23-24, 2013, Revised Selected Papers Springer International Publishing. pp. 417-429
Sound tools for package dependency management in free and open source software distributions
Boender, J. 2007. Sound tools for package dependency management in free and open source software distributions. Feller, J., Fitzgerald, B., Scacchi, W. and Sillitti, A. (ed.) Berlin and Heidelberg, Germany Springer.
Strong dependencies between software components
Abate, P., Di Cosmo, R., Boender, J. and Zacchiroli, S. 2009. Strong dependencies between software components. in: 2009 3rd International Symposium on Empirical Software Engineering and Measurement (ESEM 2009). IEEE. pp. 89 -99
Efficient computation of dominance in component systems (short paper)
Boender, J. 2011. Efficient computation of dominance in component systems (short paper). in: Software engineering and formal methods: 9th International Conference, SEFM 2011, Montevideo, Uruguay, November 14-18, 2011. Proceedings Berlin and Heidelberg, Germany Springer.
Using strong conflicts to detect quality issues in component-based complex systems
Di Cosmo, R. and Boender, J. 2010. Using strong conflicts to detect quality issues in component-based complex systems. 3rd India Software Engineering Conference. Mysore, India 25 - 27 Feb 2010 New York Association for Computing Machinery (ACM). pp. 163-172