{'fraction_non_alphanumeric': 0.012560386473429951, 'fraction_numerical': 0.0, 'mean_word_length': 5.475, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Correct Software by Design for Software-Defined Networking: A preliminary Study

We report our experience of applying rigorous software specification and design methodologies to the development of applications for the emerging software-defined networking (SDN) paradigm. While much of the prior work in the SDN space focused on creating novel algorithms and protocols, in this paper we take the position that the implementation of those algorithms and protocols on the SDN platform is a hard problem on its own that deserves a systematic treatment from the software engineering perspective. Through a concrete case study of implementing an essential switching algorithm as an SDN app, we expose the challenges stemmed from the unique three-tier architecture of SDN, and propose a rigorous approach that flows from functional requirements through stepwise refinement to design and implementation. Our case study shows promises of the proposed approach in supporting correctness arguments for the software developed for the SDN platform.