Lightweight source model extraction
Published 1 October 1995Open access
Gail C. Murphy, David Notkin
Citations39
Generate an AI Snapshot to get a quick, structured summary of this paper.
Study Snapshot
ObjectiveStudy objective
MethodsResearch methodology
PopulationPopulation studied
Sample sizeSample sizes
OutcomesStudy outcomes here
ResultsStudy results comes here
LimitationsResearch study limitations comes here
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
A lightweight approach for generating flexible and tolerant source model extractors from lexical specificat ions that scans for source constructs that contribute to the specified source model while ignoring constructs that do not contribute to that source model.
Abstract
Reverse engineers depend on the automatic extract ion of information from source code.Some useful kinds of information+ource models-are wellknown: call graphs, file dependence, etc. Predicting every kind of source model
Keywords
Computer Science
The C Programming Language
1,770 Citations1978Brian W. Kernighan, Dennis M. Ritchie
Yacc : Yet Another Compiler Compiler
1,239 Citations1978S. C. Johnson, Murray Hill
Yacc provides a general tool for describing the input to a computer program, together with code to be invoked as each such structure is recognized, and turns such a specification into a subroutine that handles the input process.
W. B. Saunders Company eBooksLex—a lexical analyzer generator
618 Citations1990Michael Lesk, Elisabeth Brandão Schmidt
This manual will only discuss generating analyzers in C on the UNIX system, which is the only supported form of Lex under UNIX Version 7.0, and is designed to simplify interfacing with Yacc, for those with access to this compiler-compiler system.
The C Programming Language
592 Citations1983Dennis M. Ritchie, S. C. Johnson +2 more
This ebook is the first authorized digital version of Kernighan and Ritchie's 1988 classic, The C Programming Language (2nd Ed.), and is a "must-have" reference for every serious programmer's digital library.
IEEE SoftwareConnecting tools using message passing in the Field environment
415 Citations1990Steven P. Reiss
An overview is given of the Field environment, which was developed to show that highly integrated, interactive environments like those on PCs can be implemented on workstations and can be used for classical-language and large-scale programming.
International Conference on Software EngineeringRigi-A system for programming-in-the-large
208 Citations1988Hausi Müller, K. Klashinsky
Software Practice and ExperienceAwk — a pattern scanning and processing language
170 Citations1979Alfred V. Aho, Brian W. Kernighan +1 more
The design and implementation of awk is described, a programming language which searches a set of files for patterns, and performs specified actions upon records or fields of records which match the patterns.
IEEE SoftwareStructural redocumentation: a case study
156 Citations1995Kevin Wong, S. Tilley +2 more
The authors propose a method of reverse engineering through redocumentation that promises to extend the useful life of large systems by understanding the system's architecture.
Lecture notes in computer scienceFormalizing design spaces: Implicit invocation mechanisms
149 Citations1991David Garlan, David Notkin
It is argued that formal specification can help solve the problem of common properties of systems that are poorly understood and can help build new designs in a principled way, at reduced cost to designers and implementors.
GENOA
115 Citations1992Prémkumar Dévanbu
The Field Programming Environment: A Friendly Integrated Environment for Learning and Development
61 Citations1995Steven P. Reiss
This chapter discusses Integrated Programming Environments, which combines UNIX Profiling Tools, the Brown Workstation Environment, and the FIELD Debugger, which addresses the challenge of cross-referencing between these environments.
A program transformation approach to automating software re-engineering
53 Citations2002S. Burson, G. Kotik +1 more
The ability to support automation in modifying large software systems by using rule-based program transformation is a key innovation of the present approach that distinguishes it from tools that focus only on automation of program analysis.
Separating parsing and analysis in reverse engineering tools
35 Citations2002Howard Reubenstein, Richard L. Piazza +1 more
The authors describe the lessons learned in extending the capabilities of a reverse engineering tool to analyze both an additional dialect of the language it was initially built to parse and a new embedded assembly language.
International Conference on Software EngineeringAutomating the detection of reusable parts in existing software
31 Citations1993Michael F. Dunn, John Knight
Journal of Systems and SoftwareManaging design trade-offs for a program understanding and transformation tool
26 Citations1995William G. Griswold, Darren C. Atkinson
This work describes the design and use of a fast, programmable tool that can perform syntactically oriented text-processing tasks for use in program understanding and transformation and takes a “traditional” compiler approach to the problem.
Architecture of the XL C++ browser
18 Citations1992Javey Shahram, Kin'ichi Mitsui +6 more
Key features of this technology are its support for semantic queries -- queries that make use of the C++ semantics to interpret information about programs; its use of rules for describing the relations between the program symbols; and its capability to browse remote databases across a network.
Sniff—A Pragmatic Approach to a C++ Programming Environment 1
15 Citations1992Walter R. Bischofberger
The aim of this paper is to describe Sniff's components and how they cooperate, to show the decisions which had to be taken, the trade-offs which have resulted, and to discuss the experience in applying Sniff.
Source code retrieval using program patterns
11 Citations2003Shadae Paul, Atul Prakash
A method for automating the search for codes that have particular structural features and a system that accepts these patterns and locates code fragments in C source files is described.
