The Experts below are selected from a list of 12 Experts worldwide ranked by ideXlab platform
Bashar Nuseibeh - One of the best experts on this subject based on the ideXlab platform.
-
Bumps in the Code: Error Handling during Software Development
IEEE Software, 2020Co-Authors: Tamara Lopez, Helen Sharp, Marian Petre, Bashar NuseibehAbstract:Problems come up during software development all the time. When developers hit these bumps, situations can be surprising and new, and they must figure out what — if anything — has gone wrong. Error Handling often resolves small, immediate concerns, however, findings from three ethnographically-informed studies suggest that the way developers experience Errors has implications for professional growth and development. Through these experiences, developers refine ideas, strengthen collective practice, and learn.
Tamara Lopez - One of the best experts on this subject based on the ideXlab platform.
-
Bumps in the Code: Error Handling during Software Development
IEEE Software, 2020Co-Authors: Tamara Lopez, Helen Sharp, Marian Petre, Bashar NuseibehAbstract:Problems come up during software development all the time. When developers hit these bumps, situations can be surprising and new, and they must figure out what — if anything — has gone wrong. Error Handling often resolves small, immediate concerns, however, findings from three ethnographically-informed studies suggest that the way developers experience Errors has implications for professional growth and development. Through these experiences, developers refine ideas, strengthen collective practice, and learn.
Helen Sharp - One of the best experts on this subject based on the ideXlab platform.
-
Bumps in the Code: Error Handling during Software Development
IEEE Software, 2020Co-Authors: Tamara Lopez, Helen Sharp, Marian Petre, Bashar NuseibehAbstract:Problems come up during software development all the time. When developers hit these bumps, situations can be surprising and new, and they must figure out what — if anything — has gone wrong. Error Handling often resolves small, immediate concerns, however, findings from three ethnographically-informed studies suggest that the way developers experience Errors has implications for professional growth and development. Through these experiences, developers refine ideas, strengthen collective practice, and learn.
Marian Petre - One of the best experts on this subject based on the ideXlab platform.
-
Bumps in the Code: Error Handling during Software Development
IEEE Software, 2020Co-Authors: Tamara Lopez, Helen Sharp, Marian Petre, Bashar NuseibehAbstract:Problems come up during software development all the time. When developers hit these bumps, situations can be surprising and new, and they must figure out what — if anything — has gone wrong. Error Handling often resolves small, immediate concerns, however, findings from three ethnographically-informed studies suggest that the way developers experience Errors has implications for professional growth and development. Through these experiences, developers refine ideas, strengthen collective practice, and learn.
Cindy Rubio Gonzalez - One of the best experts on this subject based on the ideXlab platform.
-
Finding Error-propagation bugs in large software systems using static analysis
2012Co-Authors: Benjamin R. Liblit, Cindy Rubio GonzalezAbstract:Incorrect Error Handling is a longstanding problem in many large software systems. Despite accounting for a significant portion of the Code, Error Handling is one of the least understood, documented, and tested parts of a system. Ideally, some action should be taken when a run-time Error occurs (e.g., Error notification, attempted recovery, etc.). Incorrect Error Handling in system software is especially dangerous, as it can lead to serious problems such as system crashes, silent data loss, and corruption. Most system software today is written in C, which does not provide support for exception Handling. Consequently the return-Code idiom is commonly used in large C programs, including operating systems: run-time Errors are represented as integer Codes, and these Error Codes propagate through the program using conventional mechanisms such as variable assignments and function return values. In this dissertation, I present my work on developing and applying static program analyses to find Error-propagation bugs in system software that uses the return-Code idiom. I give an overview of an interprocedural context- and flow-sensitive analysis that tracks the propagation of Errors. This analysis is formalized using weighted pushdown systems. I describe how this analysis is used to find a variety of Error-propagation bugs, such as dropped Errors, misused Error-valued pointers, and Error-Code mismatches between source Code and Error-reporting program documentation. I present results for numerous real-world, widely-used Linux file systems such as ext3 and ReiserFS, and Linux device drivers, where we have found hundreds of confirmed Error-propagation bugs. Additionally, I show that the Error-propagation bugs described in this dissertation also occur in widely-used applications such as the Mozilla Firefox web browser, which is written in C++.