SYMake: A Build Code Analysis Tool for Makefiles
نویسندگان
چکیده
Software building is an important task during software development. However, program analysis supports for build code are still limited, especially for build code written in a dynamic language such as Make. We propose SYMake, a novel program analysis tool for build code in Makefiles that is capable of detecting several types of code smells and errors and providing automatic supports in renaming of variables, targets, and extracting them into new ones. SYMake also provides the analysis on defined rules, targets, prerequisites, and associated information to help developers to better understand build code in a Makefile and its included ones. Keywords-Make; Symbolic Evaluation; Build Maintenance
منابع مشابه
Seminar Configurable Systems
Recursive Make Considered Harmful by Peter Miller discusses software construction using Make for projects that span several directories. Using an example, Miller shows the shortcomings and dangers of the traditional approach where each directory has its own Makefile that is executed by an recursively invoked instance of Make. In the example, two directories have mutual dependencies which cannot...
متن کاملBuilding Software Via Shared Knowledge
In this paper we present a new approach to writing Makefiles and a system called maker which helps in this process. Our main goals are: ease the process of writing user Makefiles, reuse variable and rule definitions, handle common tasks automatically (dependency tracking, preparation of code and environment for testing or debugging) and provide support for software development on heterogeneous ...
متن کاملCONFIGEN: A tool for managing configuration options
This paper introduces CONFIGEN, a tool that helps modularizing software. CONFIGEN allows the developer to select a set of elementary components for his software through an interactive interface. Configuration files for use by C/assembly code and Makefiles are then automatically generated, and we successfully used it as a helper tool for complex system software refactoring. CONFIGEN is based on ...
متن کاملAIMS Embedded Systems Programming
Open the file Makefile. This file contains all information necessary to build the project. Makefiles define build goals, which can be run using the command make. The default build goal is called all. make supports many helpful macros which simplify the build definition. $(wildcard *.c) defines a list of all .c files in the current directory. $(addprefix build/,$(SRC:.c=.o)) adds a prefix to eac...
متن کاملUnderstanding - In - The - Large
Developing and maintaining large industrial software products implies programming-in-the-large activities. Related concepts are usually represented in terms of low level features such as file system hierarchies, preprocessor files, makefiles, shell scripts, sccs archives, etc. Understanding the information embedded in such artifacts is an important but difficult task, especially with neither co...
متن کامل