TY - GEN
T1 - Modular Programming and Reasoning for Living with Uncertainty
AU - Ubayashi, Naoyasu
AU - Kamei, Yasutaka
AU - Sato, Ryosuke
N1 - Funding Information:
Acknowledgments. We thank Syunya Nakamura, Keisuke Watanabe, and Takuya Fukamachi for their great contributions. They were students of Naoyasu Ubayashi. This work was supported by JSPS KAKENHI Grant Numbers JP26240007.
Publisher Copyright:
© 2019, Springer Nature Switzerland AG.
PY - 2019
Y1 - 2019
N2 - Embracing uncertainty in software development is one of the crucial research topics in software engineering. In most projects, we have to deal with uncertain concerns by using informal ways such as documents, mailing lists, or issue tracking systems. This task is tedious and error-prone. Especially, uncertainty in programming is one of the challenging issues to be tackled, because it is difficult to verify the correctness of a program when there are uncertain user requirements, unfixed design choices, and alternative algorithms. If uncertainty can be dealt with modularly, we can add or delete uncertain concerns to/from code whenever they arise or are fixed to certain concerns. This paper proposes a new programming and reasoning style based on Modularity for Uncertainty. The iArch-U IDE (Integrated Development Environment) is developed to support uncertainty-aware software development. The combined usage of a type checker and a model checker in iArch-U plays an important role in verifying whether or not some important properties are guaranteed even if uncertainty remains in a program. Our model checker is based on LTSA (Labelled Transition System Analyzer) and is implemented as an Eclipse plug-in. Agile methods embrace change to accept changeable user requirements. On the other hand, our approach embraces uncertainty to support exploratory software development.
AB - Embracing uncertainty in software development is one of the crucial research topics in software engineering. In most projects, we have to deal with uncertain concerns by using informal ways such as documents, mailing lists, or issue tracking systems. This task is tedious and error-prone. Especially, uncertainty in programming is one of the challenging issues to be tackled, because it is difficult to verify the correctness of a program when there are uncertain user requirements, unfixed design choices, and alternative algorithms. If uncertainty can be dealt with modularly, we can add or delete uncertain concerns to/from code whenever they arise or are fixed to certain concerns. This paper proposes a new programming and reasoning style based on Modularity for Uncertainty. The iArch-U IDE (Integrated Development Environment) is developed to support uncertainty-aware software development. The combined usage of a type checker and a model checker in iArch-U plays an important role in verifying whether or not some important properties are guaranteed even if uncertainty remains in a program. Our model checker is based on LTSA (Labelled Transition System Analyzer) and is implemented as an Eclipse plug-in. Agile methods embrace change to accept changeable user requirements. On the other hand, our approach embraces uncertainty to support exploratory software development.
UR - http://www.scopus.com/inward/record.url?scp=85071687729&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85071687729&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-29157-0_10
DO - 10.1007/978-3-030-29157-0_10
M3 - Conference contribution
AN - SCOPUS:85071687729
SN - 9783030291563
T3 - Communications in Computer and Information Science
SP - 220
EP - 244
BT - Software Technologies - 13th International Conference, ICSOFT 2018, Revised Selected Papers
A2 - Maciaszek, Leszek A.
A2 - Maciaszek, Leszek A.
A2 - van Sinderen, Marten
PB - Springer Verlag
T2 - 13th International Conference on Software Technologies, ICSOFT 2018
Y2 - 26 July 2018 through 28 July 2018
ER -