A unique guide to the classic Linux/Unix Toolset.
Programming is more than just coding. Software developers must build, analyse and test their programs; they have to avoid performance bottlenecks, administer internal and foreign modifications, find and remove errors. Using tools available under Linux/Unix, developers can solve the problems of the programming practice.
Tools covered are the 'classics' in Linux/Unix environments
Unique coverage of wide range of tools including: DIFF, PATCH, UNRAVEL, GPROF, GCOV, SniFF+ and many more
Includes practical exercises to test competence
Companion Web site includes information on more recent developments as well as extensive additional resources
Andreas Zeller is a full professor at the University of Saarbrucken, Germany. His research topics include testing and debugging, program analysis and configuration management. He is widely known for GNU DDD, a Unix/Linux debugger GUI that visualizes complex data and which is used by more than 250,000 users. Jens Krinke is a research assistant at the University of Passau, Germany. He is an expert in software reengineering and program analysis. His research topic is the analysis of critical software.
Preface. 1. Introduction. I: VERSION CONTROL. 2. Managing changes using DIFF and PATCH. 3. Revision management using RCS. 4. Parallel Program development with CVS. Exercises I. II: PROCESSING INPUT. 5. Lexical analysis using LEX. 6. Syntactical analysis with YACC. 7. Lexical and syntactic analysis using ANTLR. Exercises II. III: BUILDING PROGRAMS. 8. Building programs with MAKE. 9. Configuring software automatically with AUTOCONF. 10. Documenting programs with JAVADOC. Exercises III. IV: PROTOTYPING. 11. Creating prototypes using Tcl/Tk. Exercises IV. V: TESTING AND DEBUGGING. 12. Software tests with DEJAGNU. 13. Component tests with JUNIT. 14. Tracking Problems with BUGZILLA. 15. Debugging with GDB and DDD. Exercises V. VI: PROGRAM ANALYSIS. 16. Profiling using GPROF and GCOV. 17. Checking Style with CHECKSTYLE. 18. Static program analysis with LINT. 19. Program slicing using UNRAVEL. Exercises VI. VII: INTEGRATED INVIRONMENT. 20. Integrated development with ECLIPSE 3.0. Exercises VII. Bibliography. Index.