4 research outputs found

    Requirements for tools for comprehending highly specialized assembly language code and how to elicit these requirements

    No full text
    Program comprehension tools used with assembly language—often for maintaining legacy software or reverse engineering malware threats—are dated and fail to provide rudimentary features found in tool support for higher-level languages. The need for peo

    Analytic Provenance for Software Reverse Engineers

    Get PDF
    Reverse engineering is a time-consuming process essential to software-security tasks such as malware analysis and vulnerability discovery. During the process, an engineer will follow multiple leads to determine how the software functions. The combination of time and possible explanations makes it difficult for the engineers to maintain a context of their findings within the overall task. Analytic provenance tools have demonstrated value in similarly complex fields that require open-ended exploration and hypothesis vetting. However, they have not been explored in the reverse engineering domain. This dissertation presents SensorRE, the first analytic provenance tool designed to support software reverse engineers. A semi-structured interview with experts led to the design and implementation of the system. We describe the visual interfaces and their integration within an existing software analysis tool. SensorRE automatically captures user\u27s sense making actions and provides a graph and storyboard view to support further analysis. User study results with both experts and graduate students demonstrate that SensorRE is easy to use and that it improved the participants\u27 exploration process

    Exploring Strategies for Capturing Requirements for Developing ICT4D Applications

    Get PDF
    Some software engineers make decisions using applications designed from poorly captured user requirements. The quality of user requirements is crucial in the requirements engineering process, costing 50 times more to remedy the defects of using poorly captured user requirements. Grounded in the socialization, externalization, combination and internalization model of Nonaka theoretical framework, the purpose of this qualitative multiple case study was to explore strategies software engineers in Southern African software houses and IT departments use for capturing information and communication technology for development (ICT4D) requirements. The participants consisted of software 12 engineers who were working in Southern Africa, capturing ICT4D requirements. The data were collected using semistructured interviews. Thematic analysis was used, and four themes emerged: (a) interacting with stakeholders—socialization, (b) transforming interactive knowledge into user requirements—externalization, (c) sharing documented knowledge about user requirements—combination, and (d) applying assimilated knowledge from documented knowledge—internalization. A recommendation is for software engineers to capture their users’ needs and experiences to develop reliable ICT4D software that can assist in delivering interventions to marginalized societies. The implications for positive social change include improving the socioeconomic status of marginalized citizens with ICT4D software applications due to potentially improved requirements engineering practices
    corecore