Knowledge (XXG)

Lint (software)

Source 📝

313:) also allow rules to be auto-fixable: a rule definition can also come with the definition of a transform that makes the rule no longer not triggered. Rules about style are especially likely to come with an auto-fix. If the linter is run in "fix all" mode on a file that triggers only rules about formatting, the linter will act just like a formatter. 211:, the tiny bits of fiber and fluff shed by clothing, as the command he wrote would act like a lint trap in a clothes dryer, capturing waste fibers while leaving whole fabrics intact. In 1979, lint programming was used outside of Bell Labs for the first time, in the seventh version ( 241:
In his original 1978 paper Johnson stated his reasoning in creating a separate program to detect errors, distinct from that which it analyzed: "...the general notion of having two programs is a good one" "concentrate at one stage of the programming process solely on the
266:
have evolved to include many of lint's historical functions, lint-like tools have also evolved to detect an even wider variety of suspicious constructs. These include "warnings about syntax errors, uses of
309:
Lint-like tools have also been developed for other aspects of software development: enforcing grammar and style guides for given language source code. Some tools (such as
382: 616: 611: 601: 327: 147: 250:, and correctness of the program, and then later retrofit, with the aid of lint, the desirable properties of universality and portability". 461: 229:, and while modern-day compilers have lint-like functions, lint-like tools have also advanced their capabilities. For example, Gimpel's 570: 347: 429: 287: 511: 580: 322: 87: 219: 192: 115: 53: 49: 271:, calls to deprecated functions, spacing and formatting conventions, misuse of scope, implicit fallthrough in 38: 606: 537: 390: 486: 290:. Because the interpreters of such languages typically do not enforce as many and as strict rules during 436: 291: 303: 196: 160: 400: 395: 259: 163: 142: 378: 268: 180: 75: 298:
for finding common errors (e.g. syntactic discrepancies) as well as hard-to-find errors such as
302:(drawing attention to suspicious code as "possible errors"). Lint-like tools generally perform 566: 272: 154: 122: 34: 208: 247: 212: 127: 595: 167: 42: 440: 56:
source code. A program which performs this function is also known as a "linter".
560: 279: 171: 283: 82: 70: 233:, introduced in 1985 and used to analyze C++ source code, is still for sale. 299: 243: 184: 295: 263: 226: 45:, stylistic errors and suspicious constructs. The term originates from a 218:
Over the years, different versions of lint have been developed for many
230: 17: 258:
The analysis performed by lint-like tools can also be performed by an
310: 204: 223: 414: 200: 188: 46: 275:, missing license headers, ...dangerous language features". 187:, came up with the term "lint" in 1978 while debugging the 262:, which aims to generate faster code. Even though modern 562:
Checking C Programs with Lint: C Programming Utility
565:(Revised ed.). United States: O'Reilly Media. 512:"ESLint - Customizable JavaScript linting tool (1)" 153: 141: 133: 121: 111: 93: 81: 69: 585:FreeBSD General Commands Manual (FreeBSD 11.2) 352:The SublimeLinter Community, revision 1cecc79c 207:machine. The term was borrowed from the word 8: 64: 538:"How to Use Lint for Static Code Analysis" 462:"Stephen Curtis Johnson: Geek of the Week" 373: 371: 369: 367: 294:, linter tools can also be used as simple 278:Lint-like tools are especially useful for 63: 394: 339: 328:List of tools for static code analysis 41:tool used to flag programming errors, 455: 453: 7: 428:Broderick, Bill (January 23, 2002). 460:Morris, Richard (1 October 2009). 25: 27:Tool to flag poor computer code 617:Software using the BSD license 1: 612:Formerly proprietary software 602:Static program analysis tools 199:issues stemming from porting 148:Static program analysis tools 536:Jones, Nigel (1 May 2002). 487:"Arcanist User Guide: Lint" 383:"Lint, a C Program Checker" 280:dynamically typed languages 191:grammar he was writing for 633: 183:, a computer scientist at 88:AT&T Bell Laboratories 323:Splint (programming tool) 417:. lemis.com. 2002-01-24. 559:Darwin, Ian F. (1991). 430:"Dear Unix enthusiasts" 389:. Bell Labs: 78–1273. 99:; 46 years ago 446:on February 19, 2009. 437:Caldera International 348:"About SublimeLinter" 387:Comp. Sci. Tech. Rep 269:undeclared variables 39:static code analysis 381:(25 October 1978). 379:Johnson, Stephen C. 260:optimizing compiler 164:commercial software 66: 181:Stephen C. Johnson 97:July 26, 1978 76:Stephen C. Johnson 71:Original author(s) 466:Red Gate Software 273:switch statements 254:Successor linters 195:and dealing with 178: 177: 16:(Redirected from 624: 588: 576: 546: 545: 533: 527: 526: 524: 523: 508: 502: 501: 499: 497: 483: 477: 476: 474: 472: 457: 448: 447: 445: 439:. Archived from 434: 425: 419: 418: 411: 405: 404: 399:. Archived from 398: 375: 362: 361: 359: 358: 344: 306:of source code. 123:Operating system 107: 105: 100: 67: 35:computer science 21: 632: 631: 627: 626: 625: 623: 622: 621: 592: 591: 579: 573: 558: 555: 553:Further reading 550: 549: 535: 534: 530: 521: 519: 510: 509: 505: 495: 493: 485: 484: 480: 470: 468: 459: 458: 451: 443: 432: 427: 426: 422: 415:"UNIX is free!" 413: 412: 408: 377: 376: 365: 356: 354: 346: 345: 341: 336: 319: 304:static analysis 256: 248:data structures 239: 103: 101: 98: 94:Initial release 62: 28: 23: 22: 15: 12: 11: 5: 630: 628: 620: 619: 614: 609: 604: 594: 593: 590: 589: 577: 572:978-0937175309 571: 554: 551: 548: 547: 528: 503: 478: 449: 420: 406: 403:on 2022-01-23. 396:10.1.1.56.1841 363: 338: 337: 335: 332: 331: 330: 325: 318: 315: 255: 252: 238: 235: 176: 175: 157: 151: 150: 145: 139: 138: 135: 131: 130: 128:Cross-platform 125: 119: 118: 113: 109: 108: 95: 91: 90: 85: 79: 78: 73: 61: 58: 52:that examined 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 629: 618: 615: 613: 610: 608: 607:Unix software 605: 603: 600: 599: 597: 587:. 2015-03-23. 586: 582: 578: 574: 568: 564: 563: 557: 556: 552: 543: 539: 532: 529: 517: 516:theCodeCampus 513: 507: 504: 492: 488: 482: 479: 467: 463: 456: 454: 450: 442: 438: 431: 424: 421: 416: 410: 407: 402: 397: 392: 388: 384: 380: 374: 372: 370: 368: 364: 353: 349: 343: 340: 333: 329: 326: 324: 321: 320: 316: 314: 312: 307: 305: 301: 297: 293: 289: 285: 281: 276: 274: 270: 265: 261: 253: 251: 249: 245: 236: 234: 232: 228: 225: 221: 216: 214: 210: 206: 202: 198: 194: 190: 186: 182: 173: 169: 168:free software 165: 162: 158: 156: 152: 149: 146: 144: 140: 136: 132: 129: 126: 124: 120: 117: 114: 110: 96: 92: 89: 86: 84: 80: 77: 74: 72: 68: 59: 57: 55: 51: 48: 44: 40: 36: 32: 19: 584: 561: 541: 531: 520:. Retrieved 518:. 2015-06-09 515: 506: 494:. Retrieved 490: 481: 469:. Retrieved 465: 441:the original 423: 409: 401:the original 386: 355:. Retrieved 351: 342: 308: 277: 257: 240: 217: 179: 134:Available in 83:Developer(s) 30: 29: 491:Phabricator 215:) of Unix. 197:portability 161:proprietary 159:Originally 37:term for a 596:Categories 542:Barr Group 522:2019-04-21 496:19 January 471:19 January 357:2020-03-29 334:References 300:heisenbugs 284:JavaScript 244:algorithms 112:Written in 104:1978-07-26 54:C language 581:"LINT(1)" 391:CiteSeerX 296:debuggers 292:execution 264:compilers 227:compilers 185:Bell Labs 317:See also 237:Overview 172:BSD-like 170:under a 231:PC-Lint 174:license 155:License 137:English 102: ( 60:History 50:utility 33:is the 18:Linting 569:  393:  311:ESLint 288:Python 205:32-bit 166:, now 444:(PDF) 433:(PDF) 282:like 203:to a 567:ISBN 498:2018 473:2018 286:and 222:and 209:lint 201:Unix 189:yacc 143:Type 65:Lint 47:Unix 43:bugs 31:Lint 224:C++ 598:: 583:. 540:. 514:. 489:. 464:. 452:^ 435:. 385:. 366:^ 350:. 246:, 213:V7 575:. 544:. 525:. 500:. 475:. 360:. 220:C 193:C 116:C 106:) 20:)

Index

Linting
computer science
static code analysis
bugs
Unix
utility
C language
Original author(s)
Stephen C. Johnson
Developer(s)
AT&T Bell Laboratories
C
Operating system
Cross-platform
Type
Static program analysis tools
License
proprietary
commercial software
free software
BSD-like
Stephen C. Johnson
Bell Labs
yacc
C
portability
Unix
32-bit
lint
V7

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.